Есть ли лучший способ переписать это:
$('element').removeClass('class1').removeClass('class2');
Я не могу использовать, removeClass();
поскольку это удалит ВСЕ классы, которые я не хочу.
$("element").removeClass("class1 class2");
From removeClass()
, параметр класса:
Один или несколько классов CSS для удаления из элементов, они разделены пробелами.
.removeClass()
Документация jQuery .
Один или несколько классов CSS для удаления из элементов, они разделены пробелами.
В документации сказано:
class (Optional) String
Один или несколько классов CSS для удаления из элементов, они разделены пробелами.
Пример:
Удалите классы 'blue' и 'under' из соответствующих элементов.
$("p:odd").removeClass("blue under");
Есть много способов сделать это!
JQuery
удалить все класс
$("element").removeClass();
ИЛИ
$("#item").removeAttr('class');
ИЛИ
$("#item").attr('class', '');
ИЛИ
$('#item')[0].className = '';
удалить мультикласс
$("element").removeClass("class1 ... classn");
ИЛИ
$("element").removeClass("class1").removeClass("...").removeClass("classn");
// remove all items all class
const items = document.querySelectorAll('item');
for (let i = 0; i < items.length; i++) {
items[i].className = '';
}
// only remove all class of first item
const item1 = document.querySelector('item');
item1.className = '';
Отдельные занятия по белому space
$('element').removeClass('class1 class2');
Вы должны отделить те классы, которые вы хотите удалить пробелом$('selector').removeClass('class1 class2');
Начиная с jQuery 3.3.0 , можно передавать массивы в .addClass()
. removeClass()
и toggleClass()
, что облегчает, если есть какая-либо логика, которая определяет, какие классы должны быть добавлены или удалены, так как вам не нужно возиться со строками, разделенными пробелом.
$("div").removeClass(["class1", "class2"]);