用JavaScript實現(xiàn)用一個DIV來包裝文本元素節(jié)點
當你的應用需要依賴某個特定的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中了!
- javascript刪除元素節(jié)點removeChild()用法實例
- javascript刪除一個html元素節(jié)點的方法
- JS 使用for循環(huán)遍歷子節(jié)點查找元素
- 一個獲取第n個元素節(jié)點的js函數(shù)
- js遍歷子節(jié)點子元素附屬性及方法
- JS獲取節(jié)點的兄弟,父級,子級元素的方法
- js創(chuàng)建元素(節(jié)點)示例
- javascript基礎之查找元素的詳細介紹(訪問節(jié)點)
- Js 獲取HTML DOM節(jié)點元素的方法小結
- JavaScript實現(xiàn)獲取某個元素相鄰兄弟節(jié)點的prev與next方法
相關文章
開啟Javascript中apply、call、bind的用法之旅模式
在Javascript中,F(xiàn)unction是一種對象。Function對象中的this指向決定于函數(shù)被調用的方式,使用apply,call 與 bind 均可以改變函數(shù)對象中this的指向。2015-10-10
JavaScript中setInterval()用法舉例詳解
這篇文章主要給大家介紹了關于JavaScript中setInterval()用法的相關資料,setInterval()方法可按照指定的周期(以毫秒計)來調用函數(shù)或計算表達式,文中通過代碼示例介紹的非常詳細,需要的朋友可以參考下2023-10-10
JavaScript利用el-table實現(xiàn)繪制熱度表
這篇文章主要為大家詳細介紹了JavaScript如何利用el-table實現(xiàn)繪制熱度表,文中的示例代碼講解詳細,感興趣的小伙伴可以跟隨小編一起學習一下2023-03-03
利用JavaScript創(chuàng)建一個兔年春節(jié)倒數(shù)計時器
這篇文章主要介紹了如何利用JavaScript創(chuàng)建一個兔年春節(jié)倒數(shù)計時器,文中的示例代碼講解詳細,對我們學習JavaScript有一定的幫助,需要的可以參考一下2023-01-01
JS選中checkbox后獲取table內一行TD所有數(shù)據的方法
這篇文章主要介紹了JS選中checkbox后獲取table內一行TD所有數(shù)據的方法,涉及javascript針對table元素遍歷與獲取的技巧,需要的朋友可以參考下2015-07-07

