我写了一个函数将div动态地插入到网页中。但后来我必须删除这些div。添加div时,我使用了一个classname到所有的div。所以我使用getElementsByClassName()从dom中获取了所有元素,并遍历所有这些元素并删除了div。我的代码并没有删除先前创建的所有div。动态删除以前动态添加的div
请找我的代码片段:
var elements = document.getElementsByClassName("xxxx");
for (var i = 0; i < elements .length; i++) {
var element = elements[i];
if (element && element.hasChildNodes()) {
var parent_node = element.parentNode;
while(element.firstChild) {
parent_node.insertBefore(element.firstChild, element);
}
parent_node.removeChild(element);
}
elements = document.getElementsByClassName("xxxx");
}
即使我删除它不工作。 – user1588142
此外,“if(element && element.hasChildNodes())”行意味着您只能删除具有子元素的div。那是你的意思吗? –
是的,我的div总是有子节点或文本节点。 – user1588142