宝哥软件园

Javascript removeChild()删除节点和子节点的方法

编辑:宝哥软件园 来源:互联网 时间:2021-09-19

下面介绍用Javascript removeChild()删除节点的方法,具体如下:

在Javascript中,只提供了一种删除节点的方法:removeChild()。

removeChild()方法用于删除父节点的子节点。

语法:

parent.removeChild(thisNode)

参数描述:

参数表示thisNode的当前节点,即要删除的节点父节点的当前节点的父节点,即thisNode.parentNode例如,删除id='demo '的节点的语句为:

var this node=document . getelementbyid(' demo ');this node . parent node . remove node(this node);例如,删除一个节点:

Div id='demo' div id='thisNode '单击删除me/div/div脚本类型=' text/JavaScript ' document . getelementbyid(' this node ')。onclick=function(){ this . parent node . remove child(this);}/脚本实例演示:

可以看出,虽然Javascript只提供了一种删除节点的方法,但是已经足够了。

在ps:JavaScript中删除子节点的方法。

HTML代码如下:

div id=' f ' diva/divb/div divc/div/div如果要删除f节点下的所有子节点,自然想到的方法是下面的代码:

var f=document . getelementbyid(' f ');var childs=f.childNodesfor(var I=0;i childs.lengthi ) { alert(childs[i]。nodeName);f . remove child(childs[I]);}程序运行时,我们发现所有子节点在FireFox中也不能完全删除,对于in(空白区域在FireFox中也被视为节点,所以删除节点的结果会有所不同)。这是因为当你删除索引为0的子节点时,自然是原来的索引是1个节点,然后它的索引变成了0,而变量I变成了1。当程序继续时,它将删除索引为2,现在为1的节点,因此程序运行的结果仅被删除。如果我们想正常删除所有节点,我们应该从后向前删除它们。代码如下:

for(var I=childs . length-1;I=0;i - ) { alert(childs[i]。nodeName);f . remove child(childs[I]);}我们从索引的最大值开始删除,采用递减的方法,这样索引就不会移动和变化。

更多资讯
游戏推荐
更多+