it-swarm.com.de

Auswahl mehrerer Klassen mit jQuery

Ich hatte ein gutes Aussehen und kann anscheinend nicht herausfinden, wie alle Elemente, die mit bestimmten Klassen übereinstimmen, in einer jQuery-Selector-Anweisung wie dieser ausgewählt werden:

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

Irgendwelche Ideen, wie man das erreichen kann? Die einzige andere Möglichkeit ist zu tun

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

Aber ich mache das mit ziemlich vielen Klassen, also erfordert es viel Code.

208
Kezzer

Das sollte funktionieren:

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

Sie müssen die mehreren Selektoren alle im ersten Argument zu $ ​​() hinzufügen, andernfalls geben Sie jQuery einen Kontext, in dem gesucht werden soll, der nicht Ihren Wünschen entspricht.

Es ist dasselbe wie in CSS.

394
Erik Bakker

Hast du das probiert?

$('.myClass, .myOtherClass').removeClass('theclass');
24
Ionuț G. Stan

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

22
Adman
// 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 diese 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 einzelnes '...' 'oder in doppelte Kommas einschließen, "..."

In Ihrem Fall lautet der korrekte Weg, mehrere Klassen aufzurufen:

$('.myClass', '.myOtherClass').removeClass('theclass'); // your Code // Invalid.
$('.myClass , .myOtherClass').removeClass('theclass');  // Correct Code // Is valid.
0
Rehan Shah