返回课程

为什么“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,浏览器的这种行为是正确的。