Usuwanie wielu klas (jQuery)

615

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ę.

eozzy
źródło

Odpowiedzi:

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

Od removeClass(), parametr klasy:

Jedna lub więcej klas CSS do usunięcia z elementów, są one oddzielone spacjami.

Cletus
źródło
66

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

Oto dokumenty .

Scott Evernden
źródło
19

.removeClass()Dokumentacja jQuery .

Jedna lub więcej klas CSS do usunięcia z elementów, są one oddzielone spacjami.

SeanJA
źródło
17

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");
deceze
źródło
12

Można to zrobić na wiele sposobów!

jQuery

  1. usuń wszystkie klasy
    $("element").removeClass();
    LUB
    $("#item").removeAttr('class');
    LUB
    $("#item").attr('class', '');
    LUB
    $('#item')[0].className = '';

  2. usuń wiele klas
    $("element").removeClass("class1 ... classn");
    LUB
    $("element").removeClass("class1").removeClass("...").removeClass("classn");

Waniliowy Javascript

  1. usuń wszystkie klasy

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

  1. usuń wiele klas

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

xgqfrms
źródło
2

Oddziel klasy białym space

$('element').removeClass('class1 class2');
kodemirror
źródło
1

Musisz oddzielić te klasy, które chcesz usunąć spacją$('selector').removeClass('class1 class2');

Avishek Mondal
źródło
0

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"]); 
Mark Fisher
źródło