Mehrere Klassen entfernen (jQuery)

615

Gibt es einen besseren Weg, dies umzuschreiben:

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

Ich kann nicht verwenden, removeClass();da es ALLE Klassen entfernen würde, die ich nicht möchte.

eozzy
quelle

Antworten:

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

Aus removeClass()dem Klassenparameter:

Eine oder mehrere CSS-Klassen, die aus den Elementen entfernt werden sollen, sind durch Leerzeichen getrennt.

Cletus
quelle
66

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

Hier sind die Dokumente .

Scott Evernden
quelle
19

jQuery- .removeClass()Dokumentation.

Eine oder mehrere CSS-Klassen, die aus den Elementen entfernt werden sollen, sind durch Leerzeichen getrennt.

SeanJA
quelle
17

Die Dokumentation sagt:

class (Optional) String
Eine oder mehrere CSS-Klassen, die aus den Elementen entfernt werden sollen, sind durch Leerzeichen getrennt.

Beispiel:

Entfernen Sie die Klassen 'blau' und 'unter' aus den übereinstimmenden Elementen.

$("p:odd").removeClass("blue under");
täuschen
quelle
12

Es gibt viele Möglichkeiten, dies zu tun!

jQuery

  1. Entfernen Sie alle Klassen
    $("element").removeClass();
    ODER
    $("#item").removeAttr('class');
    ODER
    $("#item").attr('class', '');
    ODER
    $('#item')[0].className = '';

  2. Multi-Class-
    $("element").removeClass("class1 ... classn");
    OR entfernen
    $("element").removeClass("class1").removeClass("...").removeClass("classn");

Vanille-Javascript

  1. entferne alle Klassen

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

  1. Multi-Klasse entfernen

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

xgqfrms
quelle
2

Klassen durch Weiß trennen space

$('element').removeClass('class1 class2');
Codespiegel
quelle
1

Sie müssen die Klassen, die Sie entfernen möchten, durch Leerzeichen trennen$('selector').removeClass('class1 class2');

Avishek Mondal
quelle
0

Seit jQuery 3.3.0 ist es möglich, Arrays an .addClass(),. removeClass()und toggleClass(), was es einfacher macht, wenn es eine Logik gibt, die bestimmt, welche Klassen hinzugefügt oder entfernt werden sollen, da Sie nicht mit den durch Leerzeichen getrennten Zeichenfolgen herumspielen müssen.

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