Auswählen mehrerer Klassen mit jQuery


222

Ich habe genau hingeschaut und kann anscheinend nicht herausfinden, wie alle Elemente, die bestimmten Klassen entsprechen, in einer jQuery-Selektoranweisung wie der folgenden ausgewählt werden:

$('.myClass', '.myOtherClass').removeClass('theclass');

Irgendwelche Ideen, wie dies erreicht werden kann? Die einzige andere Möglichkeit ist zu tun

$('.myClass').removeClass('theclass');
$('.myOtherClass').removeClass('theclass');

Aber ich mache das mit einigen Klassen, daher ist viel Code erforderlich.

Antworten:


402

Das sollte funktionieren:

$('.myClass, .myOtherClass').removeClass('theclass');

Sie müssen $ () alle Mehrfachselektoren im ersten Argument hinzufügen, andernfalls geben Sie jQuery einen Kontext, in dem gesucht werden soll, was nicht das ist, was Sie wollen.

Es ist das gleiche wie in CSS.


3
Was ist, wenn ich es nur abgleichen möchte, wenn jedes Element alle angegebenen Klassen hat?
IsmailS

12
Okay , ich habe diesen einen stackoverflow.com/q/1041344/148271 . Im Grunde muss ich alle Selektoren für die Kreuzung verbinden. Gefällt $(".myClass.myOtherClass")
mir

Mehr zur CSS-Gruppierung: W3C "Gruppierung" .
Skrounge

@wal: Dieses Komma ist auch in CSS erforderlich, wenn auf beide Klassen verwiesen wird. Ohne das Komma würde .myOtherClasses irgendwo drinnen darauf verweisen .myClass.
Geekualität

Diese Antwort beantwortet die Frage nicht, auf diese Weise machen Sie einen OP !!!! nicht UND !!
Mahmoud Khateeb


25

ich benutze $('.myClass.myOtherClass').removeClass('theclass');


34
Dies ist der Fall, wenn ein HTML-Element mehrere Klassen hat und Sie die Klasse für das Element nur mit all diesen Klassen entfernen möchten . Andere Beispiele entfernen die Klasse aus jedem Element mit einer der durch Kommas getrennten Klassen. Ihr Beispiel würde nur funktionieren, wenn mein HTML-Element beides hätte , wie<div class="myClass myOtherClass theclass">
Kezzer

0
// Due to this Code ): Syntax problem.    
$('.myClass', '.myOtherClass').removeClass('theclass'); 

Laut jQuery-Dokumentation: https://api.jquery.com/multiple-selector/

Wann können mehrere Klassen auf folgende Weise ausgewählt werden:

jQuery(“selector1, selector2, selectorN”) // double Commas. // IS valid.
jQuery('selector1, selector2, selectorN') // single Commas. // Is valid.

indem Sie alle Selektoren in ein einfaches "..." oder Doppelkomma einschließen, "..."

In Ihrem Fall ist der richtige Weg, mehrere Klassen aufzurufen:

$('.myClass', '.myOtherClass').removeClass('theclass'); // your Code // Invalid.
$('.myClass , .myOtherClass').removeClass('theclass');  // Correct Code // Is valid.
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.