为什么浏览器会自动添加tbody?

时间:2015-01-13 08:51:00

标签: html google-chrome internet-explorer

在我的html中,一个额外的<TR><TD>被添加到table中而没有错误的关闭元素。

<TABLE border=\"1\" summary=\"\" width=\"100%%\">
<CAPTION><EM>Statistics</EM></CAPTION><TR><TD>
<COLGROUP span=\"4\" ALIGN=\"center\"></COLGROUP>

在Chrome中对其进行测试,会自动添加TBODY,也会使用关闭元素。

enter image description here

但是在IE中,TBODY会自动添加,但没有关闭元素。

enter image description here

IMO,由于HTML不正确,为什么浏览器会通过添加额外的tbody来纠正它们?

1 个答案:

答案 0 :(得分:2)

浏览器必须更正代码才能从中创建DOM hieararchy。

代码不正确,但多少取决于您使用的DOCTYPE。无需指定tbody元素,它会自动添加。在HTML(但不是XHTML)中,允许保留trtd元素而不使用结束标记。但是table标记应该有一个结束标记。

两个浏览器产生相同的结果,区别在于IE不显示元素的任何结束标记。一旦将代码解析为元素,实际上没有开始标记和结束标记,只有元素。 Chrome的开发人员只是选择将元素显示为开始标记和结束标记,可能是因为它看起来更像HTML代码。