Hinzufügen und Entfernen mehrerer Klassen in jQuery


135

Ich versuche, mehrere Klassen in einem Textfeld hinzuzufügen und zu entfernen, indem ich auf verschiedene Optionsfelder klicke. Ich kann die unerwünschten Klassen beim Umschalten zwischen verschiedenen Optionsfeldern nicht entfernen.

Mein Code dafür ist:

// For 1st radio button
if (actionUrl == "search-client-by-id") {
    $("#req").removeClass("validate[required,custom[onlyLetterNumber],maxSize[20],custom[onlyLetterSp]]")
             .addClass("validate[required,custom[onlyNumberSp]]");
}
// For 2nd radio button
else if (actionUrl == "search-client-by-name") {    
    $("#req").removeClass("validate[required,custom[onlyNumberSp]]")
             .addClass("validate[required,custom[onlyLetterNumber],maxSize[20],custom[onlyLetterSp]]");
}

Antworten:


273

Sie können mehrere Klassen mit dem Leerzeichen trennen:

$("p").addClass("myClass yourClass");

http://api.jquery.com/addClass/


1
Ich habe eine Lösung dafür gefunden, jedes Mal, wenn ich nur .removeClass () verwende und keinen Klassennamen in removeClass schreiben muss, um alle hinzugefügten Klassen zu entfernen und eine Klasse nach Wahl hinzuzufügen. Ja, es funktioniert ...!
Raman

3
Mit .removeClass () [ohne Parameter] werden alle Klassen des jQuery-Objekts entfernt.
Ahmet

8

Fügen Sie mehrere Klassen hinzu:

$("p").addClass("class1 class2 class3");

oder in Kaskade:

$("p").addClass("class1").addClass("class2").addClass("class3");

Sehr ähnlich auch, um weitere Klassen zu entfernen:

$("p").removeClass("class1 class2 class3");

oder in Kaskade:

$("p").removeClass("class1").removeClass("class2").removeClass("class3");

Was möchten Sie also aus mehreren Klassen entfernen $("p")?
Schneebesen

In meinem Beispiel beziehe ich mich auf alle Absätze auf der Seite, aber es ist nur ein Beispiel. Sie können ein bestimmtes Element mit einer ID oder einer anderen Klasse identifizieren.
Andrea_dev

0

Der einfachste Weg, den Klassennamen mit Javascript anzuhängen. Es kann nützlich sein, wenn Sie .siblings()sich schlecht benehmen.

document.getElementById('myId').className += ' active';

5
Diese Antwort ist nicht relevant für die Frage, die explizit nach jQuery gefragt hat.
Cyberbit

1
Und Sie sollten trotzdem
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.