Note - 重新認識javascript (4)
更新時間: 2021/12/14
DOM
DOM 節點的新增
- document.createElement(tagName)
- document.createTextNode()
- document.createDocumentFragment()
DocumentFragment是一種沒有父節點的最小化文件物件DocumentFragment不是真的DOM,因此在變動時不會影響目前的網頁文件,也不會reflow或影響效能
var ul = document.getElementById("list"); var fragment = document.createDocumentFragment(); for (var i = 0; i < 5; i++){ let li = document.createElement("li"); li.appendChild(document.createTextNode("Item " + (i+1))); fragment.appendChild(li); } ul.appendChild(fragment);- document.write()
- 當網頁已經讀取完成後才執行
document.write(),內容會完全覆蓋掉目前的網頁
- 當網頁已經讀取完成後才執行
DOM 節點的修改與刪除
- NODE.appendChild(childNode)
- 將指定的
childNode增加到Node父容器結點的末端
- 將指定的
- NODE.insertBefore(newNode, refNode)
- 將新節點
newNode插入至指定的refNode節點的前面
- 將新節點
- NODE.replaceChild(newChildNode, oldChildNode)
- 將原本的
oldChildNode替換成指定的newChildNode
- 將原本的
- NODE.removeChild(childNode)