.removeClass()

Wenn ein Klassenname als Parameter enthalten ist, wird nur diese Klasse aus der Menge der übereinstimmenden Elemente entfernt. Wenn im Parameter keine Klassen angegeben sind, werden alle Klassen entfernt.

Vor jQuery Version 1.12/2.2 manipulierte die .removeClass() Methode die className Eigenschaft der ausgewählten Elemente, nicht das class Attribut. Sobald die Eigenschaft geändert wurde, hat der Browser das Attribut entsprechend aktualisiert. Dies bedeutet, dass der Browser beim Aktualisieren des Attributs class und beim Entfernen des letzten Klassennamens möglicherweise den Wert des Attributs auf eine leere Zeichenfolge gesetzt hat, anstatt das Attribut vollständig zu entfernen. Eine Implikation dieses Verhaltens war, dass diese Methode nur für Dokumente mit HTML-DOM-Semantik funktionierte (z. B. keine reinen XML-Dokumente).

Ab jQuery 1.12/2.2 wurde dieses Verhalten geändert, um die Unterstützung für XML-Dokumente, einschließlich SVG, zu verbessern. Ab dieser Version wird stattdessen das Attribut class verwendet. Daher kann .removeClass() für XML- oder SVG-Dokumente verwendet werden.

Mehr als eine Klasse kann durch ein Leerzeichen getrennt aus der Menge der übereinstimmenden Elemente entfernt werden, wie folgt:

1
$( "p" ).removeClass( "myClass yourClass" )

Diese Methode wird häufig mit .addClass() verwendet, um die Klassen der Elemente wie folgt von einer zur anderen zu wechseln:

1

Hier werden die Klassen myClass und noClass aus allen Absätzen entfernt, während yourClass hinzugefügt wird.

Um alle vorhandenen Klassen durch eine andere Klasse zu ersetzen, können wir stattdessen .attr( "class", "newClass" ) .

Ab jQuery 1.4 können wir mit der .removeClass() -Methode die zu entfernende Klasse angeben, indem wir eine Funktion übergeben.

1
2
3
$( "li" ).last().removeClass(function() {
return $( this ).prev().attr( "class" );
});

This example removes the class name of the penultimate <li> from the last <li>.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.