seo優化排名, seo搜索引擎 | JavaScript天書--流覽文檔物件模型 [改變元素的類型]

seo優化排名, seo搜索引擎

網路推廣,網站排名,網站推廣,搜索網站,seo服務

JavaScript天書--流覽文檔物件模型 [改變元素的類型]

clock 九月 20, 2009 15:50 by author Administrator

改變元素的類型

 

你的順序列表有沒有給人一種無序的感覺?用一點JavaScript的只是,就可以完全的改變一個元素的類型,但是保留其子節點的結構。

 

解決方法

改變元素的類型沒有直接、簡單的方法。要想改變,你需要採取一點小技巧。

 

假設我們希望將這段改變成div

我們需要創建一個新的div,將每段的子節點移入,然後用新的節點交換舊的節點:

這裏唯一陌生的一行就是每一段的子節點都有一個克隆(clone),cloneNode的方法會複製完全相同的節點,通過這種方法,我們將某個元素的所有子節點連同這個元素一起進行了複製。通過cloneNode,我們可以在新的div中對原來那個元素的子節點做了鏡像,複製完成之後我們就可以去掉這段。

 

在有些情況下,複製節點是有效的,但是還有一個更簡單的方法也可以解決這個問題。我們可以將現在這段的子節點轉到一個新的div.DOM節點一次只能屬於一個父元素(parent element),所以,將節點加入到div同時將它們從段落中去掉:

   小心改變DOM的節點結構

DOM中有改動的時候,集合(collection)中的元素(element)會自動更新——即使在改動出現之前你將那個集合拷貝到了一個變數,它也會自動更新。所以,如果你從DOM中去掉一個元素,那這個元素的鏈結也會被從這個集合中去掉。這就會改變collection的長度以及這個元素去掉之後顯示的任何元素的索引。

 

當進行影響DOM節點結構的操作時——比如將一個節點轉到一個新的父元素中——你需要仔細的進行操作。上面的編碼使用的是while迴圈,它只能到達第一個子節點,因為每一次中心調整一個子節點的時候,childNodes集合的長度都會變化,集合中的元素也會隨著變化。計數變數的for迴圈無法正確的處理所有的子節點,因為它的假設是集合中的內容沒有變化。

 

討論

將一個元素的屬性複製到它的替代元素上沒有簡單的方法。如果你想讓新的元素仍然具有相同的idclasshref等等特徵,你需要手動的複製這些值:

推薦給同仁

Tell a Friend 

您想要瞭解更多的免費小竅門以便提升你的網站排名嗎?
請馬上聯繫我們網站管理員:
MSN: chenlinwu@cmmail.com 
Email: info@rank-ad.com


第一個評分

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5


開始建立您的網上業務,點擊進入

加入每二週免費網上推廣提示電郵訂閱,即時獲贈免費關鍵字廣告課程及提升網站流量

加入每二週免費網上推廣提示電郵訂閱, 即時獲贈免費關鍵字廣告課程及提升網站流量
Fo Xuan Henry

建立你的 Facebook 電子名片

Bookmark and Share

Twitter Updates:

評論

新增評論


(將顯示您的Gravatar圖示)  

  Country flag

biuquote
  • 評論
  • 線上預覽
Loading





© 版權所有 海神科技有限公司

© 版權所有 海神科技有限公司