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

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

本文主要介绍Javascript removeChild()方法删除节点和子节点的相关资料,有需要的可以参考一下。

下面是Javascript removeChild()删除节点的方法。详情如下:

在Javascript中,只有一种方法可以删除节点:removeChild()。

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

语法:

parent.removeChild(thisNode)

参数说明:

参数

解释

这个节点

当前节点,即要删除的节点。

父母

当前节点的父节点,即thisNode.parentNode

例如,删除id='demo '的节点的语句是:

var this node=document . getelementbyid(' demo ');

thisNode . parent node . remove node(thisNode);

例如,删除一个节点:

div id='demo '

Div id='thisNode '点击删除我/div

/div

脚本类型='文本/javascript '

document . getelementbyid(' this node ')。onclick=function(){

this . parent node . remove child(this);

}

/脚本

示例演示:

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

ps:JavaScript删除子节点的方法

HTML代码如下所示:

div id='f '

天后/div

divb/div

divc/div

/div

如果要删除F节点下的所有子节点,想到下面的代码是很自然很正常的:

var f=document . getelementbyid(' f ');

var childs=f.childNodes

for(var I=0;I儿童长度;i ) {

alert(childs[i].nodeName);

f . remove child(childs[I]);

}

当程序运行时,我们发现在FireFox或IE中不能完全删除所有子节点(FireFox中的空白区域也是

作为一个节点,所以删除一个节点的结果会不一样)。这是因为删除索引为0的子节点时,原始索引是如此自然。

当节点为1时,其索引变为0,而变量I变为1。当程序继续时,它将删除原来索引为2的节点,现在删除索引为1的节点。结果只删除了一半的子节点,用for in遍历的结果是一样的。想要正常删除所有节点吗

,我们应该把它从后面删除到前面。代码如下:

for(var I=childs . length-1;I=0;我- ) {

alert(childs[i].nodeName);

f . remove child(childs[I]);

}

我们从索引的最大值开始删除,用递减的方法,这样索引就不会移动和变化。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: