如何从DOM中删除某个类的所有元素?

乔纳森贝尔:

var paras = document.getElementsByClassName('hi');

for (var i = 0; i < paras.length; i++) {
  paras[i].style.color = '#ff0011';
  // $('.hi').remove();
}
<p class="hi">dood</p>
<p class="hi">dood</p>
<p class="hi">dood</p>
<p class="hi">dood</p>
<p class="hi">dood</p>
<p>not class 'hi'</p>

在jQuery中,这将非常容易:$('.hi').remove();我想学习JS,然后学习jQuery。

我被困住了,谷歌没有提供。我不想成为复制/粘贴jQuery程序员。我刚刚开始学习JS。谢谢。

保罗:

要删除元素,请执行以下操作:

el.parentNode.removeChild(el);

MDN是一个很好的参考。以下是一些相关页面:

节点
parentNode
removeChild

但是,如果这样循环,则会遇到问题,因为getElementsByClassName返回活动列表,因此当您删除节点时,该元素也会从列表中删除,因此您不应递增,否则最终将跳过所有其他元素。而是连续删除列表中的第一个元素,直到没有第一个元素为止:

var paras = document.getElementsByClassName('hi');

while(paras[0]) {
    paras[0].parentNode.removeChild(paras[0]);
}​

IMO jQuery非常擅长向您展示使用Javascript可以做什么。我实际上建议在大约一两个星期的普通JS之后学习jQuery,熟练掌握它,并记住它的抽象含义。有一天,当您精通Java范围,对象以及在使用jQuery时可以获得的对象时,可以回过头来尝试学习如何在没有库的情况下更好地与DOM交互。这样一来,您将可以更轻松地学习普通的JS,并且会欣赏到库可以为您提供更多的抽象概念,同时了解到当您只需要一两个东西时,库就可以自己编写它们而无需包括整个图书馆。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

在每个循环中的jQuery中单击某个元素时,如何删除所有同级元素的类

如何从当前元素之外的所有元素中删除类?

如何删除POJO类中等于某个值的所有元素?

如何在父元素Jquery中删除某个类的元素

如何从所有元素中删除特定的类?

如何在列表的所有元素中的某个点之后删除字符串?

JavaScript按钮如何在选择某个值时从所有按钮中删除类?

如果最近的 href 有某个类,则删除 Jquery 中的元素

JS从元素中删除所有类

从所有输入元素中删除类

如何动态遍历Kotlin中某个类的所有字段?

如何删除某个文件夹中的所有文件

Jsoup:获取某个元素之前的所有元素/删除某个元素之后的所有元素

jquery / javascript:如何从父元素的所有子元素中删除“活动”类?

如何使用当前元素添加活动类并从所有其他元素中删除

如何从除单击元素之外的所有元素中删除类?

jQuery:如何从元素中删除除最后一个类以外的所有类

删除元素的所有类

如何使用子类中的Action Listener从超类中的JPanel中删除所有元素?

如何从元素中删除所有属性

如何在React中按类名访问所有dom元素?

如何从document.body(DOM)中删除所有Kendo DropDownList元素

在JavaScript中删除DOM节点的所有子元素

删除div中的所有子DOM元素

删除DOM元素上0(1)中的所有childNodes

如何将某个类的所有元素包装为不同的类?

在jQuery中隐藏某个类的除一个元素以外的所有元素

从某个类中获取除元素以外的所有元素?

有没有办法打印列表中某个类的所有元素?