Удаление нескольких классов (jQuery)


615

Есть ли лучший способ переписать это:

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

Я не могу использовать, removeClass();поскольку это удалит ВСЕ классы, которые я не хочу.

Ответы:


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

From removeClass(), параметр класса:

Один или несколько классов CSS для удаления из элементов, они разделены пробелами.



19

.removeClass()Документация jQuery .

Один или несколько классов CSS для удаления из элементов, они разделены пробелами.


17

В документации сказано:

class (Optional) String
Один или несколько классов CSS для удаления из элементов, они разделены пробелами.

Пример:

Удалите классы 'blue' и 'under' из соответствующих элементов.

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

12

Есть много способов сделать это!

JQuery

  1. удалить все класс
    $("element").removeClass();
    ИЛИ
    $("#item").removeAttr('class');
    ИЛИ
    $("#item").attr('class', '');
    ИЛИ
    $('#item')[0].className = '';

  2. удалить мультикласс
    $("element").removeClass("class1 ... classn");
    ИЛИ
    $("element").removeClass("class1").removeClass("...").removeClass("classn");

Ванильный 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 = '';




0

Начиная с jQuery 3.3.0 , можно передавать массивы в .addClass(). removeClass()и toggleClass(), что облегчает, если есть какая-либо логика, которая определяет, какие классы должны быть добавлены или удалены, так как вам не нужно возиться со строками, разделенными пробелом.

$("div").removeClass(["class1", "class2"]); 
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.