日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
JavaScriptDOM修改文檔樹方法實例

在我們工作中大多數(shù)DOM腳本的主要任務(wù)就是在DOM文檔中插入,刪除和移動節(jié)點。W3C DOM 提供了4種方法來修改文檔樹。常用的是appendChild()和insertBefore(),而removeChild() 和replaceChild()很少用到。

一般用法

修改文檔提供的4個方法,都是指向它們所作用的節(jié)點的引用。導(dǎo)航條實例:

 
 
 
  1.  
  2.     

    我的導(dǎo)航條

                
  3.      
  4.        
  5. HOME
  6.  
  7.        
  8. (X)Html / Css
  9.  
  10.        
  11. Ajax / RIA
  12.  
  13.        
  14. GoF
  15.  
  16.        
  17. JavaScript
  18.  
  19.        
  20. JavaWeb
  21.  
  22.        
  23. jQuery
  24.  
  25.        
  26. MooTools
  27.  
  28.        
  29. Python
  30.  
  31.        
  32. Resources
  33.  
  34.      
  

appendChild()

appendChild()方法讓你添加一個節(jié)點并使其成為某個元素的***一個子節(jié)點。如果添加的該節(jié)點已經(jīng)存在于文檔中,它會從當(dāng)前位置移除。該節(jié)點的子節(jié)點保持不變,它們也被一起移動到新的位置。

 
 
 
  1.   

創(chuàng)建新DOM元素的通用函數(shù)

 
 
 
  1.   

我們看到結(jié)果:

添加好的子節(jié)點

從原始位置上被移除,成為ul的***一個子節(jié)點

insertBefore()

insertBefore()方法允許你在其他節(jié)點的前面插入一個節(jié)點,所以當(dāng)你想要添加一個子節(jié)點,但又不希望該節(jié)點成為***一個子節(jié)點的時候,就可以使用此方法。就像appendChild()方法一樣,如果插入的節(jié)點已經(jīng)存在于文檔之中,它會被從當(dāng)前位置移除,而且該節(jié)點在被插入之后乃保持它的子節(jié)點結(jié)構(gòu)。

 
 
 
  1.   

 #p#

在其他節(jié)點的前面插入一個節(jié)點

replaceChild()

replaceChild()方法允許你把一個節(jié)點替換為另一個節(jié)點。就像appendChild()和insertBefore()一樣,如果插入的節(jié)點已經(jīng)存在于文檔之中,它會被從當(dāng)前位置移除,而且該節(jié)點在被插入之后乃保持它的子節(jié)點結(jié)構(gòu)。

 
 
 
  1.   

把一個節(jié)點替換為另一個節(jié)點

removeChild()

removeChild()方法允許你移除一個節(jié)點以及它的子節(jié)點們。

 
 
 
  1.   

你移除一個節(jié)點以及它的子節(jié)點們

移除所有的子節(jié)點

有的時候你需要把一個元素清除干凈;你想在添加新節(jié)點前清除原來的所有子點。有兩個簡單的方法來做這件事情:

 
 
 
  1.   

這是一個簡單的while()循環(huán),只要元素存在***個節(jié)點(childNodes[0]),它就移除這個節(jié)點,接著節(jié)點集合立即更新。所以(原來的)第二個節(jié)點成為了***個節(jié)點,循環(huán)就會一直重復(fù),直到X沒有子節(jié)點為止。另一個方法就簡單了

 
 
 
  1.   

 #p#

輔助函數(shù)

appendChild()和insertBefore()都有2個參數(shù),但是我們在應(yīng)用的時候,還要注意參數(shù)的先后順序。既然這么麻煩我們還是自己寫一些輔助函數(shù)來代替原有的appendChild()和insertBefore()。在另一個元素之前插入元素的函數(shù):

 
 
 
  1.   

為另一個元素添加一個子元素:

 
 
 
  1.   

before和append的輔助函數(shù):

 
 
 
  1.   

注意:constructor的用法。

有時你可能需要對變量進行類型檢查,或者判斷變量是否已定義。有兩種方法可以使用:typeof函數(shù)與constructor屬性。typeof可以檢查到變量是否有定義,而construct只能檢查已定義變量的類型。

移除所有的子節(jié)點的輔助函數(shù):

 
 
 
  1.   

分享名稱:JavaScriptDOM修改文檔樹方法實例
分享地址:http://www.dlmjj.cn/article/coodjip.html