2010-07-19 43 views
1

我不喜歡這樣的我的文件準備:我需要用TBODY,它看起來像瀏覽器反正產生它

$("thead").addClass("ui-state-default"); 
$("tbody").addClass("ui-state-highlight"); 

而且我注意到,該類也被添加到表,唐」沒有tbody,我在所有瀏覽器上測試過。當我生成/寫入我的HTML時,是否應該打擾tbody

回答

8

是的,我會包含<thead><tbody>元素以確保一致性,以防萬一您進入某些瀏覽器並不會自動爲您生成它們。

3

當我想到它或明確需要它時,我傾向於親自包含它,但是您不會因XHTML 1嚴格而不包括它。

7

tbody元素在HTML中是必需的,但是它的開始和結束標記是可選的(因爲它們是用於許多其他元素,包括html,頭部和主體)。

在XHTML中,元素是可選的,大概是與人們寫的標記兼容,所以他們不必學會停止讓元素被隱含。

在text/html模式下,大多數瀏覽器都會(正確地)將元素自動添加到DOM中。這可能會影響任何假設表中的元素是子元素或其他元素的父項(例如JS或CSS)的任何內容。

將元素明確包含在標記中可以減少混淆和維護問題,所以它是值得的,但遠非必要。

如果您使用XHTML,它變得更加重要,因爲元素可能會或可能不會出現,具體取決於文檔是作爲text/html還是application/xhtml + xml處理。我會始終將其明確包含在XHTML文檔中。

1

是的,你應該。這是很好的形式。當我沒有明確地寫入tbody和thead標籤時,我遇到了一些插件工作不正常的問題(jquery tablesorter)。它可能是無關的。但額外的20個字符是如此多的工作來鍵入?

0

tbody的實際優勢顯示了當您構建具有分組行的表時。然後,您可以通過尋找合適的tbody來輕鬆識別組(例如,通過jQuery選擇器)。

相關問題