最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

用JavaScript實現(xiàn)用一個DIV來包裝文本元素節(jié)點

 更新時間:2014年09月09日 10:51:11   投稿:whsnow  
當我試圖將文本(可能也包含HTML元素)用一個DIV元素包起來時,可以使用下面的方法,需要的朋友可以參考下

當你的應用需要依賴某個特定的JavaScript類庫時,你無意中總會試圖解決某些類庫自身的問題,而不是語言的問題。就比如當我試圖將文本(可能也包含HTML元素)用一個DIV元素包起來時。假設有以下HTML:

This is some text and <a href="">a link</a>

這時候如果想把它轉換為下面這樣:

<div>This is some text and <a href="">a link</a><div>

最簡單暴力的方法是,你可以在父元素上通過 .innerHTML 屬性來執(zhí)行更新,但問題是這樣一來所有綁定的事件監(jiān)聽都會失效,因為使用 innerHTML 時會重新創(chuàng)建一個HTML元素。這真是個大玻璃杯!所以這時候只能利用JavaScript來實現(xiàn) —— 尺有所短、寸有所長。下面是實現(xiàn)代碼:

var newWrapper = document.createElement('div'); 
while(existingParent.firstChild) { 
// 移動DOM元素,不會創(chuàng)建新元素 
newWrapper.appendChild(existingParent.firstChild); 
}

這里不能使用for循環(huán),因為 childNodes 是一個動態(tài)節(jié)點組成的集合,只要移動節(jié)點就會影響到他的index索引值。我們用while循環(huán)一直檢測父元素的 firstChild ,如果其返回一個代表 false 的值, 那么你就知道所有的節(jié)點都已經移到新的parent中了!

相關文章

最新評論

文水县| 道真| 株洲市| 宣化县| 临夏市| 太保市| 慈溪市| 二手房| 阳泉市| 屯留县| 大丰市| 海阳市| 清新县| 永德县| 盐山县| 调兵山市| 大邑县| 平凉市| 论坛| 南京市| 崇礼县| 凌海市| 广饶县| 竹溪县| 岳普湖县| 莱西市| 博客| 北安市| 峨山| 云南省| 延寿县| 铜梁县| 抚顺市| 高雄市| 和顺县| 弋阳县| 扶绥县| 浦北县| 新龙县| 民乐县| 麻城市|