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

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

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

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

Ответ 1

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

Из removeClass() параметр класса:

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

Ответ 2

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

Здесь находятся документы.

Ответ 4

В документации говорится:

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

Пример:

Удалите класс "синий" и "под" из согласованных элементов.

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

Ответ 5

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

JQuery

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

  • удалить несколько классов
    $("element").removeClass("class1 ... classn");
    ИЛИ
    $("element").removeClass("class1").removeClass("...").removeClass("classn");

Исходный Javascript

  • удалить весь класс

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

Ответ 6

Отдельные занятия по space

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

Ответ 7

Вы должны отделить те классы, которые вы хотите удалить пробелом $('selector').removeClass('class1 class2');

Ответ 8

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

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