js removeChild 方法深入理解
1. 概述
刪除后的節(jié)點(diǎn)雖然不在文檔樹(shù)中了,但其實(shí)它還在內(nèi)存中,可以隨時(shí)再次被添加到別的位置。
當(dāng)你遍歷一個(gè)父節(jié)點(diǎn)的子節(jié)點(diǎn)并進(jìn)行刪除操作時(shí),要注意,children屬性是一個(gè)只讀屬性,并且它在子節(jié)點(diǎn)變化時(shí)會(huì)實(shí)時(shí)更新
// 拿到待刪除節(jié)點(diǎn): var self = document.getElementById('to-be-removed'); // 拿到父節(jié)點(diǎn): var parent = self.parentElement; // 刪除: var removed = parent.removeChild(self); removed === self; // true
2. example
<!DOCTYPE html> <html> <head> </script> </head> <body> <ul id="test-list"> <li>JavaScript</li> <li>Swift</li> <li>HTML</li> <li>ANSI C</li> <li>CSS</li> <li>DirectX</li> </ul> <script> var p= document.getElementById('test-list'); var length = p.children.length; var i=0; for(; i<length; ){ var li = p.children[i]; var text = li.innerText; if(text!=='JavaScript' && text!=='HTML' && text!=='CSS'){ p.removeChild(li); alert(p.children.toString()); length--; }else{ i++; } } // 測(cè)試: ;(function () { var arr, i, t = document.getElementById('test-list'); if (t && t.children && t.children.length === 3) { arr = []; for (i = 0; i < t.children.length; i ++) { arr.push(t.children[i].innerText); } if (arr.toString() === ['JavaScript', 'HTML', 'CSS'].toString()) { alert('測(cè)試通過(guò)!'); } else { alert('測(cè)試失敗: ' + arr.toString()); } } else { alert('測(cè)試失敗!'); } })(); </script> </body> </html>
以上這篇js removeChild 方法深入理解就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
- JavaScript中removeChild 方法開(kāi)發(fā)示例代碼
- Javascript removeChild()刪除節(jié)點(diǎn)及刪除子節(jié)點(diǎn)的方法
- JavaScript的removeChild()函數(shù)用法詳解
- javascript刪除元素節(jié)點(diǎn)removeChild()用法實(shí)例
- js使用removeChild方法動(dòng)態(tài)刪除div元素
- javascript移出節(jié)點(diǎn)removeChild()使用介紹
- javascript removeChild 導(dǎo)致的內(nèi)存泄漏
- js removeChild 障眼法 可能出現(xiàn)的錯(cuò)誤
- javascript removeChild 使用注意事項(xiàng)
相關(guān)文章
javascript用函數(shù)實(shí)現(xiàn)對(duì)象的方法
這篇文章主要介紹了javascript用函數(shù)實(shí)現(xiàn)對(duì)象的方法,涉及javascript函數(shù)使用技巧,需要的朋友可以參考下2015-05-05JavaScript中的標(biāo)簽語(yǔ)句用法分析
這篇文章主要介紹了JavaScript中的標(biāo)簽語(yǔ)句用法,實(shí)例分析了標(biāo)簽語(yǔ)句的功能、定義及相關(guān)使用技巧,需要的朋友可以參考下2015-02-02swiper 自動(dòng)圖片無(wú)限輪播實(shí)現(xiàn)代碼
今天移動(dòng)端正好需要圖片觸摸滑動(dòng)效果實(shí)現(xiàn)代碼,基于swiper實(shí)現(xiàn),需要的朋友可以參考下2018-05-05Ajax異步文件上傳與NodeJS express服務(wù)端處理
本文主要介紹了Ajax異步文件上傳與NodeJS express服務(wù)端處理的相關(guān)知識(shí)。具有很好的參考價(jià)值。下面跟著小編一起來(lái)看下吧2017-04-04使用JavaScript實(shí)現(xiàn)node.js中的path.join方法
Node.JS中的 path.join 非常方便,能直接按相對(duì)或絕對(duì)合并路徑,有時(shí)侯前端也需要這種方法,如何實(shí)現(xiàn)呢?感興趣的朋友跟隨腳本之家小編一起看看吧2018-08-08javascript 程序庫(kù)的比較(一)之DOM功能
javascript 程序庫(kù)的比較(一)之DOM功能2010-04-04瀏覽器視頻幀操作方法?requestVideoFrameCallback()
這篇文章主要介紹了瀏覽器視頻幀操作方法?requestVideoFrameCallback(),文章圍繞主題展開(kāi)詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下2022-07-07微信小程序授權(quán)登錄實(shí)現(xiàn)方案wx.getUserProfile(2022年最新版)
微信在最近開(kāi)始要求使用wx.getUserProfile()來(lái)獲取用戶的昵稱,頭像等信息,所以下面這篇文章主要給大家介紹了關(guān)于2022年最新版微信小程序授權(quán)登錄實(shí)現(xiàn)方案wx.getUserProfile的相關(guān)資料,需要的朋友可以參考下2022-11-11JavaScript比較同一天的時(shí)間大小實(shí)例代碼
在項(xiàng)目開(kāi)發(fā)中,經(jīng)常會(huì)遇到同一天內(nèi)的時(shí)間大小比較,下面小編給大家?guī)?lái)了JavaScript比較同一天的時(shí)間大小實(shí)例代碼,需要的朋友參考下2018-02-02