如要在 HTML 文件中插入內容,有三種方法:
- 使用
createNode
和appendChild
等 DOM 方法 - 使用文件片段
- 使用
innerHTML
有人可能會說,我們也有一些用途需要使用 document.write
。
innerHTML
已在 HTML5 中標準化,並與兄弟方法 insertAdjacentHTML 搭配使用,後者可用於 innerHTML
,但可讓我們更明確地定義要插入 HTML 內容的位置:beforeBegin、afterBegin、beforeEnd 和 afterEnd。
var ul = document.getElementById("list");
ul.insertAdjacentHTML("beforeEnd", "<li>A new li on the list.</li>");
早在 2008 年,John Resig 就曾撰寫一篇關於 insertAdjacentHTML 的文章,並在文中做出以下結論:
目前 insertAdjacentHTML 的主要問題是缺乏瀏覽器支援。自 Firefox 8 版起,實作 insertAdjacentHTML 後,所有主要瀏覽器 (包括行動瀏覽器) 都支援這項功能。如果您想立即使用此功能,並確保其可在 Firefox 8 之前的版本中運作,可以使用這個 polyfill。