this:document.getElementsByClassName('warningmessage').remove();如果页面上有多个warningmessage元素,则不起作用.
如何删除该类的所有元素?我必须使用for each?是不是有deleteall()的命令?
谢谢你的提示!
你需要使用一个循环.下面的代码显示了如何用"普通"javascript编写.
var elements = document.getElementsByClassName('warningmessage'),
element;
while (element = elements[0]) {
element.parentNode.removeChild(element);
}
Run Code Online (Sandbox Code Playgroud)
使用纯JavaScript,您可以这样做:
var nodes = document.getElementsByClassName('warningmessage');
for(var i = 0; i < nodes.length; i++){
nodes[i].parentNode.removeChild(nodes[i]);
}
Run Code Online (Sandbox Code Playgroud)
因此,您首先会获得您感兴趣的节点,然后迭代它们并将它们从父节点中删除.
可悲的是,没有forEach办法NodeList.但是,你可以这样:
var nodes = document.getElementsByClassName('warningmessage');
[].forEach.call(nodes, function (node) {
node.parentNode.removeChild(node);
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1537 次 |
| 最近记录: |