javascript對DOM節點的創建--插入--刪除操作---appendChild()注意事項!


什么是節點?

HTML文檔中,所有內容都是節點。

整個文檔,是一個文檔節點;每一個html元素,是一個元素節點;每一個html屬性,是屬性節點;每一個注釋,是注釋節點;html內的文本,是文本節點。

DOM將HTML文檔被視為樹結構,稱為節點樹。

節點樹中所有節點都可通過js訪問或者修改。

節點樹中節點擁有層級關系---父(parent)、子(child)、同胞(sibling),父擁有子,同胞擁有相同的父。

 創建節點

document.creatElement('標簽名') 創建一個節點---標簽名不區分大小寫。

還有一種方法是復制已存在的節點,cloneNode(),括號里面填寫true或false。false時,只執行一個淺復制,也就是說只復制作用的標簽,他的子元素不復制。

clonNode(true)時,結果如下:

 

clonNode(false)時,結果如下:

 

 

 插入節點

appendChild() 或者 insertBefore()

appendChild()在父元素上調用,把新元素插入到父元素中最后的位置。

insertBefore()在父元素上調用,接收兩個參數,參1:父元素中要添加的元素;參2:父元素中已存在的子元素。把要添加的元素放在哪個元素的前面。

需要注意的是,調用這兩個方法時,如果將已經存在的節點再次插入,那么原來位置的節點自動刪除,並在新的位置重新插入。

例:按照li標簽的內容,由大到小排列li。

代碼如下:

 執行之后的結果如下:

 數組arr中的li全部為原來的li,並不是新添加的li,所以appendChild()時,只是相當於重新排列了原來li的順序。

 而新創建一個li標簽時,就會在已經存在的元素基礎上增加一個。

 

刪除節點

removeChild()   ---  從文檔樹中刪除一個節點。    需要注意的是,該方法是在要刪除節點的父節點上調用,要刪除的節點作為該方法的參數。

結果如下:

replaceChild() --- 刪除一個子節點,並用一個新節點取而代之。參1:新節點;參2:需要替代的節點。

例:給p標簽添加一個父元素div

 

結果如下:

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM