如何使用JavaScript删除带有classname自定义属性的元素?

解决方案
可以通过CSS属性选择器匹配所有带classname属性的元素后遍历删除,代码如下:
document.querySelectorAll('[classname]').forEach(item => item.remove())
如果需要兼容低版本浏览器,可以用以下写法:
var elements = document.querySelectorAll('[classname]'); for (var i = elements.length - 1; i >= 0; i--) { elements[i].parentNode.removeChild(elements[i]); }
说明
- 属性选择器
[classname]可以匹配所有带有该属性的DOM元素,和元素标签、id、class属性的值无关,完全匹配需求的筛选条件 - 使用
querySelectorAll拿到的是静态节点集合,遍历删除时不会因为DOM结构变化导致索引错乱出现漏删的问题
内容的提问来源于stack exchange,提问作者Crystal
相关产品推荐
相关产品推荐

