1. 程式人生 > >DOM節點(二):操作節點

DOM節點(二):操作節點

strong node remove last rfi pan AR eno urn

appendChild()

用於向childNodes列表的末尾添加一個節點。

var returnedNode = someNode.appendChild(newNode);

如果傳入的節點已經是文檔的一部分了,那結果就是將該節點從原來的位置轉移到新位置

insertBefore()

這個方法接受兩個參數:要插入到節點和作為參照的節點。插入節點後,被插入的節點會變成參照節點的前一個同胞節點(previousSibing)

//插入到最後一個子節點的前面
returnedNode = someNode.insertBefore(newNode, someNode.lastChild);

replaceChild()

這個方法接受兩個參數:要插入的節點和要替換的節點。要替換的節點將由這個方法返回並從文檔樹中被移除,同時要插入的節點占據其位置。

var returnedNode = someNode.replaceChild(newNode, someNode.firstChild);

removeChild()

這個方法接受一個參數,即要移除的節點。被移除的節點將成為方法的返回值

 var formerFirstChild = someNode.removeChild(someNode.firstChild);

cloneNode()

用於創建調用這個方法的節點完全相同的副本。cloneNode()方法接受一個布爾值參數,表示是否執行深復制。在參數為true的情況下,執行深復制,

也就是復制節點及其整個子節點樹;在參數為false的情況下,執行淺復制,即只復制節點本身

<ul>
    <li>item 1</li>
    <li>item 2</li>
    <li>item 3</li>
</ul> 
var deepList = myList.cloneNode(true);
console.log(deepList.childNodes.length); 
//3 var shallowList = myList.cloneNode(false); console.log(shallowList.childNodes.length); //0

DOM節點(二):操作節點