动态删除动态添加的div

时间:2012-10-17 16:26:45

标签: javascript

我写了一个函数来将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");

 }

2 个答案:

答案 0 :(得分:0)

您需要删除最后一行“elements = document.getElementsByClassName(”xxxx“);” - 当你绕过循环时,那条线会让你错过其他所有元素。

答案 1 :(得分:0)

如果您只想删除该类的所有DIV元素,则可以使用以下代码:

var elements = document.getElementsByClassName("xxxx");
while ( elements[0] ) {
    elements[0].parentNode.removeChild(elements[0]);
}

它也会删除你的DIV及其子节点。