2010-06-20 16 views

Odpowiedz

36

Tylko jeśli zdefiniujesz thead i tfoot. Jest używany głównie wtedy, gdy tabela zawiera wiele treści. Jeśli dane w tabeli są łatwo zrozumiałe jako tbody, możesz je bezpiecznie pominąć.

+0

i czy '' może być użyte wewnątrz 'tbody tr'? –

+1

Semantycznie, jeśli masz nagłówek do swojej tabeli z '', powinieneś użyć '' chociaż nie jest to * wymagane *, że to robisz. Jeśli używasz ich jako nagłówka dla kolumny, nie powinieneś umieszczać ich w 'tbody', ale jeśli są one nagłówkami dla wiersza, mogą być. –

+2

@Aaron Harun - Właśnie zauważyłem, że firefox zawsze dodaje 'tbody' do tabeli, nawet jeśli nie używamy' ',' 'i wielu' ' –

-4

Większość przeglądarek jest wybaczająca, ale mimo to dodaję tę parę we wszystkich tabelach, których teraz używam. Nawet banalne tabele. Szczególnie teraz, kiedy używam CSS coraz więcej, aby udekorować te stoły.

Wszystko to jest powiedziane Mam stare stoły, które wciąż działają dobrze w najnowszych przeglądarkach. Uczę się na własnej skórze, ale biorąc kilka dodatkowych Mikro sekund, aby dodać opcjonalne znaczniki tutaj i kończy się oszczędzanie pieniędzy/czasu na dłuższą metę.

Dave

+1

W jaki sposób dodawanie tagów tbody do tabeli pozwala zaoszczędzić pieniądze/czas? – OMA

10

Cytowanie HTML 4 spec: „. Znacznik początek TBODY zawsze jest wymagane z wyjątkiem, gdy tabela zawiera tylko jedno ciało tabeli i ma tabeli głowy lub stóp sekcje Znacznik końca TBODY zawsze może być bezpiecznie pominięte”

Tak, trzeba mieć <tbody> tag jeśli masz <thead>lub<tfoot>

Zobacz także: MDN

15

Dla małego ułamka użytkowników nadal przy użyciu IE7, należy dodać hermetyzacji swoje TR w tagu tbody, jeśli budujesz tabelę przy użyciu metod DOM!

To będzie działać we wszystkich głównych przeglądarek:

var table = document.createElement('table'); 
var tbody = document.createElement('tbody'); 
var tr = document.createElement('tr'); 
tbody.appendChild(tr); 
table.appendChild(tbody); 

to nie będzie działać w IE7:

var table = document.createElement('table'); 
var tr = document.createElement('tr'); 
table.appendChild(tr); 

Szybkie blogu z kopalni na budowaniu tabelach:
http://blog.svidgen.com/2012/05/building-tables-in-ie7-with-javascript.html

Warto zauważyć, że nie staram się już wspierać IE7 przy własnych projektach. Udział IE < = 7 jest prawdopodobnie znikomy dla większości witryn w tym momencie.