HTML – 浏览器如何分析?

<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> -->

但是我这样写,我发现浏览器会分析它们而不需要任何像string这样的标签.

<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文档.表元素外的元素.浏览器中的HTML解析器根本不构造这样的文档树. (但是,您可以使用客户端编写动态构建此类文档.)

相关文章

vue阻止冒泡事件 阻止点击事件的执行 &lt;div @click=&a...
尝试过使用网友说的API接口获取 找到的都是失效了 暂时就使用...
后台我拿的数据是这样的格式: [ {id:1 , parentId: 0, name:...
JAVA下载文件防重复点击,防止多次下载请求,Cookie方式快速简...
Mip是什么意思以及作用有哪些