Czy istnieje lepszy sposób na przepisanie tego:
$('element').removeClass('class1').removeClass('class2');
Nie mogę użyć, removeClass();
ponieważ usunie WSZYSTKIE klasy, których nie chcę.
$("element").removeClass("class1 class2");
Od removeClass()
, parametr klasy:
Jedna lub więcej klas CSS do usunięcia z elementów, są one oddzielone spacjami.
.removeClass()
Dokumentacja jQuery .
Jedna lub więcej klas CSS do usunięcia z elementów, są one oddzielone spacjami.
Dokumentacja mówi:
class (Optional) String
Jedna lub więcej klas CSS do usunięcia z elementów, są one oddzielone spacjami.
Przykład:
Usuń klasy „niebieski” i „pod” z dopasowanych elementów.
$("p:odd").removeClass("blue under");
Można to zrobić na wiele sposobów!
jQuery
usuń wszystkie klasy
$("element").removeClass();
LUB
$("#item").removeAttr('class');
LUB
$("#item").attr('class', '');
LUB
$('#item')[0].className = '';
usuń wiele klas
$("element").removeClass("class1 ... classn");
LUB
$("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 = '';
Musisz oddzielić te klasy, które chcesz usunąć spacją$('selector').removeClass('class1 class2');
Ponieważ jQuery 3.3.0 , możliwe jest, aby przejść do tablic .addClass()
,. removeClass()
i toggleClass()
, co ułatwia, jeśli istnieje jakakolwiek logika, która określa, które klasy powinny zostać dodane lub usunięte, ponieważ nie trzeba bawić się ciągami znaków rozdzielanymi spacjami.
$("div").removeClass(["class1", "class2"]);