亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

用JavaScript實(shí)現(xiàn)用一個(gè)DIV來(lái)包裝文本元素節(jié)點(diǎn)

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

當(dāng)你的應(yīng)用需要依賴某個(gè)特定的JavaScript類庫(kù)時(shí),你無(wú)意中總會(huì)試圖解決某些類庫(kù)自身的問(wèn)題,而不是語(yǔ)言的問(wèn)題。就比如當(dāng)我試圖將文本(可能也包含HTML元素)用一個(gè)DIV元素包起來(lái)時(shí)。假設(shè)有以下HTML:

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

這時(shí)候如果想把它轉(zhuǎn)換為下面這樣:

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

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

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

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

相關(guān)文章

  • 原生js實(shí)現(xiàn)trigger方法示例代碼

    原生js實(shí)現(xiàn)trigger方法示例代碼

    這篇文章主要給大家介紹了關(guān)于利用原生js實(shí)現(xiàn)trigger方法的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用js具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-05-05
  • Javascript中獲取出錯(cuò)代碼所在文件及行數(shù)的代碼

    Javascript中獲取出錯(cuò)代碼所在文件及行數(shù)的代碼

    之前在做一個(gè)Javascript的日志控制臺(tái)功能模塊,希望能夠在Javascript代碼出錯(cuò)時(shí)捕獲此錯(cuò)誤,并將出錯(cuò)的文件及相應(yīng)的行數(shù)打印到控制臺(tái)并匯報(bào)給服務(wù)器。
    2010-09-09
  • 基于JavaScript的數(shù)據(jù)結(jié)構(gòu)隊(duì)列動(dòng)畫(huà)實(shí)現(xiàn)示例解析

    基于JavaScript的數(shù)據(jù)結(jié)構(gòu)隊(duì)列動(dòng)畫(huà)實(shí)現(xiàn)示例解析

    這篇文章主要介紹了基于JavaScript的數(shù)據(jù)結(jié)構(gòu)隊(duì)列動(dòng)畫(huà)實(shí)現(xiàn)示例解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-08-08
  • 仿新浪微博登陸郵箱提示效果的js代碼

    仿新浪微博登陸郵箱提示效果的js代碼

    本文為大家介紹下使用js仿新浪微博登陸郵箱提示效果,具體實(shí)現(xiàn)代碼如下,感興趣的朋友可以參考下,希望對(duì)大家有所幫組
    2013-08-08
  • 微信小程序?qū)崿F(xiàn)聊天室

    微信小程序?qū)崿F(xiàn)聊天室

    這篇文章主要為大家詳細(xì)介紹了微信小程序?qū)崿F(xiàn)聊天室,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-08-08
  • canvas實(shí)現(xiàn)流星雨的背景效果

    canvas實(shí)現(xiàn)流星雨的背景效果

    本文主要介紹了canvas實(shí)現(xiàn)流星雨的背景效果的示例代碼。具有一定的參考價(jià)值,下面跟著小編一起來(lái)看下吧
    2017-01-01
  • 微信小程序?qū)崿F(xiàn)圖片放大預(yù)覽功能

    微信小程序?qū)崿F(xiàn)圖片放大預(yù)覽功能

    這篇文章主要為大家詳細(xì)介紹了微信小程序?qū)崿F(xiàn)圖片放大預(yù)覽功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-11-11
  • 通用javascript代碼判斷版本號(hào)是否在版本范圍之間

    通用javascript代碼判斷版本號(hào)是否在版本范圍之間

    通用判斷版本號(hào)是否在兩者之間,也可以搭配判斷是否大于某版本號(hào),小于取反即可,本文給大家介紹通用javascript代碼判斷版本號(hào)是否在版本范圍之間,需要的朋友參考下
    2015-11-11
  • JavaScript+Canvas實(shí)現(xiàn)繪制音頻可視化波形圖

    JavaScript+Canvas實(shí)現(xiàn)繪制音頻可視化波形圖

    這篇文章主要為大家詳細(xì)介紹了如何利用JavaScript和Canvas實(shí)現(xiàn)繪制音頻可視化波形圖,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2024-02-02
  • javascript?實(shí)現(xiàn)純前端將數(shù)據(jù)導(dǎo)出excel兩種方式

    javascript?實(shí)現(xiàn)純前端將數(shù)據(jù)導(dǎo)出excel兩種方式

    這篇文章主要介紹了javascript?實(shí)現(xiàn)純前端將數(shù)據(jù)導(dǎo)出excel兩種方式,文章圍繞主題展開(kāi)詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的小伙伴可以參一下
    2022-07-07

最新評(píng)論