<table border="1">
<tbody>
<tr>
<td>1</td>
<td>2</td>
</tr>
<tr>
<td>3</td>
<td>4</td>
</tr>
</tbody>
</table>
如果我这样写,浏览器会正常解析。
<!-- <table border="1"> -->
<tbody>
<tr>
<td>1</td>
<td>2</td>
</tr>
<tr>
<td>3</td>
<td>4</td>
</tr>
</tbody>
<!-- </table> -->
但我这样写,我发现浏览器会在没有任何标签(如字符串)的情况下分析它们。
<tbody>
<tr>
<td>1</td>
<td>2</td>
</tr>
<tr>
<td>3</td>
<td>4</td>
</tr>
</tbody>
与
相同1 2 3 4
最佳答案
浏览器忽略 <tbody>
, <tr>
, 和 <td>
标签和相应的结束标签。这在 HTML 规范中没有指定,因为它们没有定义语法错误文档的解析。然而,在 HTML5 草案中,有一个描述以与浏览器实际操作相对应的方式定义浏览器行为:Tree construction .
这意味着您不能编写包含例如 <tr>
的 HTML 文档table
外的元素元素。浏览器中的 HTML 解析器根本不构造这样的文档树。 (但是,您可以使用客户端脚本动态构建此类文档。)
关于html - 浏览器如何分析没有<table>的<tr> <td>?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23333870/