日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

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

新聞中心

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

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

一般用法

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

 
 
 
  1.  
  2.     

    我的導航條

                
  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é)點已經存在于文檔中,它會從當前位置移除。該節(jié)點的子節(jié)點保持不變,它們也被一起移動到新的位置。

 
 
 
  1.   

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

 
 
 
  1.   

我們看到結果:

添加好的子節(jié)點

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

insertBefore()

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

 
 
 
  1.   

 #p#

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

replaceChild()

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

 
 
 
  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)就會一直重復,直到X沒有子節(jié)點為止。另一個方法就簡單了

 
 
 
  1.   

 #p#

輔助函數(shù)

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

 
 
 
  1.   

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

 
 
 
  1.   

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

 
 
 
  1.   

注意:constructor的用法。

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

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

 
 
 
  1.   

文章名稱:JavaScriptDOM修改文檔樹方法實例
網(wǎng)站地址:http://m.5511xx.com/article/coodjip.html