为什么浏览器会将tbody元素插入表元素中?

问题描述 投票:53回答:2

我正在玩一些使用原始html和JQuery的想法。我做的一件事是创建一个包含一组行的表元素。

<table id="MyTable" >
    <tr>
        <td>Title</td>
    </tr>
    <tr>
        <td>1</td>
    </tr>
    <tr>
        <td>2</td>
    </tr>
    <tr>
        <td>3</td>
    </tr>
    <tr>
        <td>4</td>
    </tr>
</table>

但是,当我在FireFox + Firebug,IE8开发人员工具栏或Google Chrome JavaScript调试器中查看代码时......所有这些代码都显示了围绕所有tr节点的tbody元素。

我并不反对这种情况......但这是标准行为吗?

html xhtml
2个回答
53
投票

http://htmlhelp.com/reference/html40/tables/tbody.html

TBODY元素定义表中的一组数据行。 TABLE必须具有一个或多个TBODY元素,这些元素必须遵循可选的TFOOT。 TBODY结束标记始终是可选的。当表只包含一个TBODY且没有THEAD或TFOOT时,start标记是可选的。

所以总有一个tbody(虽然有时候开始和结束标签都是可选的并且省略了),并且你正在使用的工具在向你显示它时是正确的。

另一方面,除非你明确地包含它们,否则thead或tfoot永远不会存在,如果你这样做,那么tbody也必须是明确的。


13
投票

是的,tbody是表示表格主体的标准元素。它不需要将它放在标记中,但它将包含在DOM中,如您所见。

© www.soinside.com 2019 - 2024. All rights reserved.