本文主要介绍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的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。