Sélection de plusieurs classes avec jQuery
-
20-08-2019 - |
Question
Je & # 8217; j'ai jeté un coup d'œil et ne peut & # 8217; ne pas sembler savoir comment sélectionner tous les éléments correspondant à certaines classes dans une instruction de sélection jQuery telle que celle-ci:
$('.myClass', '.myOtherClass').removeClass('theclass');
Des idées sur la manière d’y parvenir? La seule autre option est de faire
$('.myClass').removeClass('theclass');
$('.myOtherClass').removeClass('theclass');
Mais je & # 8217; je fais cela avec pas mal de classes, donc cela nécessite beaucoup de code.
La solution
Cela devrait fonctionner:
$('.myClass, .myOtherClass').removeClass('theclass');
Vous devez ajouter tous les sélecteurs multiples dans le premier argument à $ (), sinon vous donnez à jQuery un contexte dans lequel effectuer la recherche, ce qui n'est pas ce que vous voulez.
C'est la même chose que vous feriez dans CSS.
Autres conseils
Avez-vous essayé cela?
$('.myClass, .myOtherClass').removeClass('theclass');
j'utilise $('.myClass.myOtherClass').removeClass('theclass');
// Due to this Code ): Syntax problem.
$('.myClass', '.myOtherClass').removeClass('theclass');
Selon la documentation jQuery: https://api.jquery.com/multiple-selector/
Quand peut sélectionner plusieurs classes de cette manière:
jQuery(“selector1, selector2, selectorN”) // double Commas. // IS valid.
jQuery('selector1, selector2, selectorN') // single Commas. // Is valid.
en plaçant tous les sélecteurs dans un seul '...' 'ou une double virgule, & "... &";
Dans votre cas, la méthode correcte pour appeler plusieurs classes est la suivante:
$('.myClass', '.myOtherClass').removeClass('theclass'); // your Code // Invalid.
$('.myClass , .myOtherClass').removeClass('theclass'); // Correct Code // Is valid.