就我尝试关闭尚未打开的标签消失并在网络上产生0效果而言,但我想查看一份官方文档,请举个例子:
<div>
Some content <a>some link</a><hr> </a>
</div>
据我所见,第二个“ ”只是消失了。我知道这不是一个好习惯,应该避免,但是我想知道是否有关于这种情况的官方文档。
答案 0 :(得分:3)
html5规范详细描述了解析器应如何解决解析错误,例如缺少结束标记,错误的嵌套等。
可以在8.2 Parsing HTML documents和8.2.5 Tree construction(尤其是8.2.5.4.7 The "in body" insertion mode)中找到此说明。
与您的</a>
有关的部分在这里:
采用代理算法,其唯一参数是为其运行算法的令牌令牌,它包括以下步骤:
让主题为令牌的标签名称。
如果当前节点是标记名称为主题的HTML元素,并且当前节点不在活动格式元素列表中,则将当前节点从打开元素堆栈中弹出,并中止这些步骤
让外循环计数器为零。
外循环:如果外循环计数器大于或等于8,则中止这些步骤。
将外循环计数器加1。
让格式设置元素成为活动格式设置元素列表中的最后一个元素:
位于列表的末尾与列表中的最后一个标记(如果有)之间,否则位于列表的开始之间,并且
具有标签名称主题。
如果没有这样的元素,请中止这些步骤,并按照上面的“任何其他结束标签”条目中的说明进行操作。
如果格式化元素不在打开的元素堆栈中,则为解析错误;从列表中删除该元素,然后中止这些步骤。