返回課程

為什麼「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,而瀏覽器的這種行為是正確的。