我查看了html源代码,没有<tbody>
,但是当在HTML标签中通过firebug查看时,会出现<tbody>
。知道为什么吗?
答案 0 :(得分:19)
总结bobince,Kieron,Alohci等人的答案和评论中的优秀解释:
TBODY
元素。请注意,这种奇怪的解析仅限于text / html文档,而在XHTML中,DOM与源XML紧密对应。
table
的内容模型(允许的孩子)为(CAPTION?, (COL*|COLGROUP*), THEAD?, TFOOT?, TBODY+)
- tr
s仅允许tbody
!规范说tbody
的开始标记是可选的,这应该意味着如果HTML解析器直接在tr
内遇到table
,它会插入tbody
开始标记作者省略。答案 1 :(得分:6)
它不是萤火虫,而是火狐这样做。这就是表格应该与<TBODY>
一起编写的方式,与<COLGROUP>
之类的元数据分开。当Firefox找到它们时,只需插入<TBODY>
标记。
答案 2 :(得分:3)
Firefox添加了它们,因为standard这样说。
TABLE
实际上不允许直接包含TR
个元素,它们必须包含在THEAD
,TFOOT
或TBODY
中。但是为了简单和向后兼容,当表只包含一个表体而没有表头或脚部时,可以省略TBODY
的开始标记“;在这种情况下,元素由浏览器推断。
答案 3 :(得分:1)
它不是由firebug添加的,它是由Firefox添加的。 Firebug为您提供实际dom的样子。如果你浏览各种dom元素,你会发现Firefox也添加了一些自己的样式元素。
答案 4 :(得分:0)
A.19。明确的元素
在表格中使用显式的tbody元素。
基本原理:虽然table元素的内容模型允许跳过tbody元素,但在HTML 4中,此元素是隐式的。 HTML 4用户代理将静默添加此元素,因此可能会混淆脚本或样式表。
来源:http://www.w3.org/TR/2009/NOTE-xhtml-media-types-20090116/#compatGuidelines