Stellen Sie sich eine Liste ähnlicher Listen vor:
var list = [
{ name: 'group1',
items: [ 1, 2, 3, 4, 5 ]
},
{ name: 'group2',
items: [ 1, 2, 3, 4, 5 ]
},
etc...
]
Nun ist die ganze „Tabellen für Daten nicht Design“ Vergessen Argument, wollte ich für eine einzelne Tabelle anzuzeigen list
und haben einen separaten <thead>
und <tbody>
für jeden Eintrag in list
.
Ist das technisch gültig? Dies funktioniert im Browser, aber meine Spinnen-Sinne kribbeln in diesem Fall .
javascript
html
AlbertEngelB
quelle
quelle
<thead>
und<tfooter>
Elementen zu tun , nicht<tbody>
. Sie sind nicht gleich und werden durch separate Regeln diktiert.thead
Elemente haben wolltest . Ich habe die Abstimmung zurückgezogen.Antworten:
Sie können so viele
<tbody>
Elemente haben, wie Sie möchten, aber nicht mehr als jeweils eines von<thead>
und<tfoot>
. Referenz :quelle
th scope=rowgroup
innerhalb eines regulären verwendentr
, um jeden zu beschreibentbody
. Siehe "Beispiel" .Es sind höchstens eins
thead
und einstfoot
erlaubt , daher sollten Sie keine zusätzlichen Header erstellen. Immerhin gibt dasth
in athead
Ihren Spalten eine Bedeutung, wie "Tageszeit", "Temperatur", "Anzahl der derzeit brennenden Katzen".Wenn die Einträge in Ihrer Liste verwandt sind, sollten sie sich alle in derselben Tabelle befinden, und Sie sollten einen passenden Header bereitstellen, um diese Beziehung anzuzeigen.
Wenn die Einträge tatsächlich nichts miteinander zu tun haben, sollten Sie für jede dieser Einträge eine einzige Tabelle bereitstellen. Sie können immer noch dasselbe CSS auf jede Tabelle anwenden, um ein gutes Ergebnis zu erzielen.
quelle
Ich betrachte es als genau wie
id
Attribute. Sie sollen eindeutig sein, aber Sie können sie tatsächlich auf derselben Seite wiederverwenden und trotzdem auswählen. Das heißt, nur weil es getan werden kann, heißt das nicht, dass es getan werden sollte.Ich würde dagegen empfehlen.
quelle
<tbody>
, aber gemäß der Spezifikation kann es nur eine<thead>
und eine geben<tfoot>
.