为什么“aaa”仍然存在?
重要性:1
在下面的示例中,调用 table.remove()
将从文档中删除表格。
但是,如果您运行它,您会发现文本 "aaa"
仍然可见。
为什么会这样?
<table id="table">
aaa
<tr>
<td>Test</td>
</tr>
</table>
<script>
alert(table); // the table, as it should be
table.remove();
// why there's still "aaa" in the document?
</script>
任务中的 HTML 代码不正确。这就是奇怪现象的原因。
浏览器必须自动修复它。但是 <table>
内可能没有文本:根据规范,只允许表格特定的标签。因此,浏览器在 <table>
之前 显示 "aaa"
。
现在很明显,当我们删除表格时,它仍然存在。
可以使用浏览器工具探索 DOM 来轻松回答这个问题。您将在 <table>
之前看到 "aaa"
。
HTML 标准详细说明了如何处理错误的 HTML,浏览器的这种行为是正确的。