javascript - 如何使用类删除元素

标签 javascript object getelementsbyclassname

我想在单击具有相同类“框”的按钮时删除所有元素。我查了几个人们这样做的例子,但我仍然无法弄清楚如何为我的代码做这件事。

我有这个功能,可以在单击按钮时向 DOM 添加一个框。

 function addBox(newbox) {                                   
   var scene = document.getElementById("scene"); //where all new divs will go        
   var div = document.createElement("div");                   
   div.className += " " + "box";            // assigns the class "box" to all divs
   div.innerHTML += newbox.name; 
   div.style.backgroundColor = newbox.color;                            
   scene.appendChild(div);                                    
  }

这是我正在尝试在单击不同按钮时清除所有新 div 的函数。

  function clear() {
  var elems = document.getElementsByClassName("box");
  for ( k = elems.length - 1; k >= 0; k--) {
   parentElement.removeChild(elems[k]);
  }
  }

我在控制台中收到的警告是“未定义 parentElement”。我一直在试图弄清楚如何定义父元素,但我遇到了麻烦。任何帮助表示赞赏。谢谢

最佳答案

您可以从元素的 parentNode 中获取父元素属性:

function clear() {
    var elems = document.getElementsByClassName("box");
    for (var k = elems.length - 1; k >= 0; k--) {
        var parent = elems[k].parentNode;
        parent.removeChild(elems[k]);
    }
}

关于javascript - 如何使用类删除元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14285567/

相关文章:

javascript - 使用 jquery 的问答游戏

java - 运行 Java 中所有方法的正确构造函数

javascript - querySelectorAll 和 getElementsBy* 方法返回什么?

在类中获取类时 Javascript 失败

c# - 在 WebBrowser 控件中禁用警告窗口

javascript - 如何理解 Javascript 中的闭包?

javascript - JavaScript 中计算小数点后的数字

c# - 将类型作为参数传递给函数

javascript - 为什么state对象的名字不需要和setState中的名字一致?

javascript - 在 Javascript 中查找类元素名称时遇到问题