javascript - 在多个元素上使用 remove()

标签 javascript

如果页面上有多个 warningmessage 元素,document.getElementsByClassName('warningmessage').remove(); 将不起作用。

我怎样才能删除该类的所有元素?我必须为每个使用吗?没有 deleteall() 的命令吗?

感谢您的提示!

最佳答案

使用纯 JavaScript,您可以执行此操作:

var nodes = document.getElementsByClassName('warningmessage');
for(var i = 0; i < nodes.length; i++){
  nodes[i].parentNode.removeChild(nodes[i]);
}

所以你首先会得到你感兴趣的节点,然后迭代它们并将它们从它们的父节点中删除。

遗憾的是 NodeList 上没有 forEach 方法。但是,您可以这样做:

var nodes = document.getElementsByClassName('warningmessage');
[].forEach.call(nodes, function (node) {
  node.parentNode.removeChild(node);
});

关于javascript - 在多个元素上使用 remove(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12489364/

相关文章:

javascript - Jquery - 选择菜单项后需要额外点击

javascript - 基于浏览器窗口的缩放控制媒体查询

javascript - 在 JavaScript 中从 DataURL 下载文件

javascript - 在 JQuery 中延迟 For 循环

javascript - JQuery 没有按应有的方式行事

javascript - React 无法识别 DOM 元素上的 `isActive` 属性 - styled-components

javascript - 在 less 函数中评估一段 javascript 代码

javascript - 生成附加数组

javascript - 数组的 Document.getElementByName

javascript - 如何向表格行添加折叠