web-dev-qa-db-fra.com

Sélection de plusieurs classes avec jQuery

J’ai jeté un œil attentif et n'arrive pas à trouver 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 façon de réaliser ceci? La seule autre option est de faire

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

Mais je le fais avec plusieurs classes et nécessite donc beaucoup de code.

208
Kezzer

Cela devrait fonctionner:

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

Vous devez ajouter plusieurs sélecteurs dans le premier argument à $ (), sinon vous fournissez à 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 le feriez en CSS.

394
Erik Bakker

Avez-vous essayé cela?

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

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

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

Selon la documentation de 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, "..."

Donc, 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.
0
Rehan Shah