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

时间:2013-07-15 19:46:09

标签: javascript jquery removeclass

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

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

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

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

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

有谁知道如何在javascript / jquery中完成此操作?

4 个答案:

答案 0 :(得分:50)

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

答案 1 :(得分:7)

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

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

JQuery Remove Docs

答案 2 :(得分:1)

<强> Jquery的 - :

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

<强>的javascript - : 如果要在javascript中删除类,请将类名设置为空。

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

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

答案 3 :(得分:0)

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

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