我写了一个函数来将div动态插入到网页中。但后来我必须删除这些div。在添加div时,我使用了一个类名来表示所有div。所以我使用getElementsByClassName()获取了dom中的所有元素,并循环遍历所有这些元素并删除了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");
}
答案 0 :(得分:0)
您需要删除最后一行“elements = document.getElementsByClassName(”xxxx“);” - 当你绕过循环时,那条线会让你错过其他所有元素。
答案 1 :(得分:0)
如果您只想删除该类的所有DIV元素,则可以使用以下代码:
var elements = document.getElementsByClassName("xxxx");
while ( elements[0] ) {
elements[0].parentNode.removeChild(elements[0]);
}
它也会删除你的DIV及其子节点。