删除多个类(jQuery)

有没有更好的方法来重写它:

$('element').removeClass('class1').removeClass('class2');

我不能使用removeClass();,因为它会删除所有我不想要的类。

395435 次浏览

$('element').removeClass('class1 class2');

这里是的文档

jQuery.removeClass()留档。

要从元素中删除的一个或多个CSS类,这些类由空格分隔。

$("element").removeClass("class1 class2");

removeClass()开始,类参数:

要删除的一个或多个CSS类 元素,这些被分隔开 空格。

留档说:

class (Optional) String
从元素中删除一个或多个CSS类,这些类由空格分隔。

示例:

从匹配的元素中删除类“Blue”和“under”。

$("p:odd").removeClass("blue under");

有很多方法可以做到这一点!

jQuery

  1. 删除所有类
    $("element").removeClass();
    OR
    $("#item").removeAttr('class');
    OR
    $("#item").attr('class', '');
    OR
    $('#item')[0].className = '';

  2. 删除多类
    $("element").removeClass("class1 ... classn");
    OR
    $("element").removeClass("class1").removeClass("...").removeClass("classn");

Vanilla Javascript

  1. 删除所有类

// remove all items all class
const items = document.querySelectorAll('item');
for (let i = 0; i < items.length; i++) {
items[i].className = '';
}

  1. 删除多类

// only remove all class of first item
const item1 = document.querySelector('item');
item1.className = '';

白色的独立类space

$('element').removeClass('class1 class2');

从jQuery3.3.0开始,可以将数组传递给.addClass()、.removeClass()toggleClass(),如果有任何逻辑确定应该添加或删除哪些类,这会更容易,因为您不需要弄乱空格分隔的字符串。

$("div").removeClass(["class1", "class2"]);

您必须通过空格$('selector').removeClass('class1 class2');分隔要删除的那些类