2010-06-20 23 views

回答

36

仅限于您定义theadtfoot。它主要用于表格具有多个内容主体的情况。如果表格中的数据很容易理解为tbody,那么您可以放心地忽略它。

+0

并且''允许在'tbody tr'内部使用吗? – 2010-06-20 03:19:28

+1

从语义上讲,如果你的桌子上有''的标题,那么你应该使用'',尽管你不这么做。如果你使用它们作为列的标题,那么你不应该把它们放在'tbody'中,但是如果它们是一行的标题,它们可以是。 – 2010-06-20 03:24:50

+2

@Aaron Harun - 我刚刚注意到Firefox即使不使用'',''和多个'' – 2010-06-20 05:03:11

-4

大多数浏览器都是宽容的,但即使如此,我仍然在现在使用的所有表格中添加这对。即使是微不足道的桌子。特别是现在我越来越多地使用CSS来装饰这些表格。

所有这些被说我有旧表,仍然在最新的浏览器上工作正常。我正在学习艰难的方式,但是只需少量额外的微秒就可以在这里添加可选标签,从而最终节省您的时间和金钱。

戴夫

+1

如何将tbody标签添加到表格为您节省任何金钱/时间? – OMA 2015-04-21 10:24:17

10

引述HTML 4 spec“总是需要当表包含只有一个表的身体和没有表头或脚部分的TBODY结束标记总是可以被安全地省略除了TBODY开始标记”

所以,你必须有一个<tbody>标签,如果你有一个<thead><tfoot>

参见:MDN

15

仍然使用IE7,必须添加封装你TR的用户的小部分在tbody标记中,如果您使用DOM方法构建表格!

这将在所有主要的浏览器中工作:

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

这不会在IE7工作:

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

我的一个快速的博客文章构建表:
http://blog.svidgen.com/2012/05/building-tables-in-ie7-with-javascript.html

可能值得注意的是,我不再努力在自己的项目上支持IE7。 IE < = 7份额对于大多数网站而言可能忽略不计。

相关问题