繁体   English   中英

如何在 javascript/jquery 中删除一个类的所有实例?

[英]How to remove all instances of a class in javascript/jquery?

我有一个名为 .m-active 的类,它在我的 HTML 中多次使用。

基本上我想要做的是当用户单击图像(没有 m-active 类)时删除该类的所有实例并将 m-active 类添加到该图像。

例如,在 Backgrid 行中,您可能有一个单击处理程序,如下所示:

"click": function () {
    this.$el.addClass('m-active');
}

但是您还想从之前添加的任何行中删除该类,以便一次只有一行具有 .m-active 类

有谁知道如何在 javascript/jquery 中做到这一点?

使用jQuery:

$('.m-active').removeClass('m-active');

说明:

  • 调用$('.m-active')选择文档中包含m-active类的所有元素
  • 无论您在此选择器应用于所有选定元素后链接的是什么
  • 使用removeClass('m-active')链接调用会从所有选定元素中删除类m-active

有关此特定方法的文档,请参阅: http//api.jquery.com/removeClass/

用jQuery掌握整个选择器的东西起初很有挑战性,但是一旦你得到它,你会看到一切都在不同的光线。 我鼓励你看一些好的jQuery教程。 我个人建议查看Codeacademy的jQuery轨道: http//www.codecademy.com/tracks/jquery

所有答案都指向从DOM元素中删除该类。 但是如果你要求删除元素本身,你可以使用.remove() jquery方法

$('.m-active').remove();

JQuery删除文档

Jquery-:

$("class").removeClass("your class");

javascript-:当你想在javascript中删除类时,将类名设置为空!

document.getElementById("your id").className = "";

要么

element.classList.remove("class name");

专门解决添加的代码块以加强问题的质量,并从jsalonen借用:

"click": function () {
    $('.m-active').removeClass('m-active');
    this.$el.addClass('m-active');
}

在纯 JavaScript 中(没有 jquery):

for (elem of document.getElementsByClassName("m-active")) {
    elem.classList.remove("m-active");
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM