29

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

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

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

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

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

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

4

5 回答 5

59

使用 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

于 2013-07-15T19:47:02.483 回答
8

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

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

JQuery 删除文档

于 2013-07-15T19:54:38.247 回答
1

在纯 JavaScript(无 jquery)中:

for (elem of document.getElementsByClassName("m-active")) {
    elem.classList.remove("m-active");
}
于 2021-11-14T17:38:36.867 回答
0

jQuery-:

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

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

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

或者

element.classList.remove("class name");
于 2013-07-15T19:50:50.777 回答
0

具体解决添加的代码块以增强问题的质量,并借鉴 jsalonen:

"click": function () {
    $('.m-active').removeClass('m-active');
    this.$el.addClass('m-active');
}
于 2015-02-05T15:14:10.543 回答