Javascript removeChild()刪除節(jié)點(diǎn)及刪除子節(jié)點(diǎn)的方法
下面給大家介紹Javascript removeChild()刪除節(jié)點(diǎn)的方法,具體詳情如下所示:
在Javascript中,只提供了一種刪除節(jié)點(diǎn)的方法:removeChild()。
removeChild() 方法用來(lái)刪除父節(jié)點(diǎn)的一個(gè)子節(jié)點(diǎn)。
語(yǔ)法:
parent.removeChild(thisNode)
參數(shù)說(shuō)明:
| 參數(shù) | 說(shuō)明 |
|---|---|
| thisNode | 當(dāng)前節(jié)點(diǎn),即要?jiǎng)h除的節(jié)點(diǎn) |
| parent | 當(dāng)前節(jié)點(diǎn)的父節(jié)點(diǎn),即 thisNode.parentNode |
例如,刪除 id="demo" 的節(jié)點(diǎn)的語(yǔ)句為:
var thisNode=document.getElementById("demo");
thisNode.parentNode.removeNode(thisNode);
舉例,刪除節(jié)點(diǎn):
<div id="demo">
<div id="thisNode">點(diǎn)擊刪除我</div>
</div>
<script type="text/javascript">
document.getElementById("thisNode").onclick=function(){
this.parentNode.removeChild(this);
}
</script>
實(shí)例演示:

可以看出來(lái),雖然Javascript只提供了一種刪除節(jié)點(diǎn)的方法,但是足夠用了。
ps:JavaScript刪除子節(jié)點(diǎn)的方法
HTML代碼如下:
<div id="f"> <div>a</div> <div>b</div> <div>c</div> </div>
如果想刪除f節(jié)點(diǎn)下的所有子節(jié)點(diǎn),很自然也很正常想到的方法應(yīng)該就是下面的這段代碼了:
var f = document.getElementById("f");
var childs = f.childNodes;
for(var i = 0; i < childs.length; i++) {
alert(childs[i].nodeName);
f.removeChild(childs[i]);
}
當(dāng)程序運(yùn)行后我們發(fā)現(xiàn)無(wú)論在FireFox還是在IE下,均不能完全的刪除所有的子節(jié)點(diǎn)(FireFox中把空白區(qū)域也
當(dāng)成節(jié)點(diǎn),所以刪除結(jié)點(diǎn)的結(jié)果會(huì)不一樣的),這是因?yàn)楫?dāng)你把索引為0的子節(jié)點(diǎn)刪除后那么很自然的原來(lái)索引
為1節(jié)點(diǎn)此時(shí)它的索引變成0了,而這時(shí)變量i已經(jīng)變成1了,程序繼續(xù)走時(shí)就會(huì)刪除原先索引為2的現(xiàn)在為1的節(jié)點(diǎn),這樣程序運(yùn)行的結(jié)果就是只刪除了一半的子節(jié)點(diǎn),用for in遍歷結(jié)果也是一樣的。想正常的刪除全部節(jié)點(diǎn)
的話(huà),我們應(yīng)該從后面往前刪除,代碼如下:
for(var i = childs.length - 1; i >= 0; i--) {
alert(childs[i].nodeName);
f.removeChild(childs[i]);
}
我們從索引最大值開(kāi)始刪除,采用遞減的方法,這樣索引便不會(huì)移動(dòng)改變了。
- JS常見(jiàn)DOM節(jié)點(diǎn)操作示例【創(chuàng)建 ,插入,刪除,復(fù)制,查找】
- 利用vue.js插入dom節(jié)點(diǎn)的方法
- JS獲取子節(jié)點(diǎn)、父節(jié)點(diǎn)和兄弟節(jié)點(diǎn)的方法實(shí)例總結(jié)
- javascript獲取網(wǎng)頁(yè)中指定節(jié)點(diǎn)的父節(jié)點(diǎn)、子節(jié)點(diǎn)的方法小結(jié)
- js遍歷子節(jié)點(diǎn)子元素附屬性及方法
- JS 獲取HTML標(biāo)簽內(nèi)的子節(jié)點(diǎn)的方法
- 淺談js的html元素的父節(jié)點(diǎn),子節(jié)點(diǎn)
- 刪除javascript所創(chuàng)建子節(jié)點(diǎn)的方法
- js 獲取元素所有兄弟節(jié)點(diǎn)的實(shí)現(xiàn)方法
- JavaScript實(shí)現(xiàn)獲取某個(gè)元素相鄰兄弟節(jié)點(diǎn)的prev與next方法
- JS實(shí)現(xiàn)DOM節(jié)點(diǎn)插入操作之子節(jié)點(diǎn)與兄弟節(jié)點(diǎn)插入操作示例
相關(guān)文章
解決bootstrap中下拉菜單點(diǎn)擊后不關(guān)閉的問(wèn)題
今天小編就為大家分享一篇解決bootstrap中下拉菜單點(diǎn)擊后不關(guān)閉的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-08-08
javascript 一個(gè)自定義長(zhǎng)度的文本自動(dòng)換行的函數(shù)
javascript 一個(gè)自定義長(zhǎng)度的文本自動(dòng)換行的函數(shù)...2007-08-08
mui框架 頁(yè)面無(wú)法滾動(dòng)的解決方法(推薦)
下面小編就為大家分享一篇mui框架 頁(yè)面無(wú)法滾動(dòng)的解決方法(推薦),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-01-01
BootStrap select2 動(dòng)態(tài)改變值的方法
這篇文章主要介紹了BootStrap select2 動(dòng)態(tài)改變值的方法,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2017-02-02
input file的默認(rèn)value清空與賦值方法
出于安全性考慮,JS是不能直接設(shè)置File的value值的,下面是我總結(jié)出來(lái)的方法2010-09-09
移動(dòng)端web滾動(dòng)分頁(yè)的實(shí)現(xiàn)方法
這篇文章主要為大家詳細(xì)介紹了移動(dòng)端web滾動(dòng)分頁(yè)的實(shí)現(xiàn)方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-05-05
JavaScript字符串的json的自定義加密解密函數(shù)示例
JavaScript自定義函數(shù)中使用String.fromCharCode函數(shù)將輸入字符串中每個(gè)字符的Unicode編碼加1,然后將加密后的字符拼接成一個(gè)新字符串返回,調(diào)用JSON.stringify函數(shù)轉(zhuǎn)換json成一個(gè)普通字符串2023-12-12

