Je veux sélectionner tous les éléments qui ont les deux classes a
et b
.
<element class="a b">
Donc, seulement les éléments qui ont les deux classes.
Lorsque j'utilise $(" ;.a, .b" ;)
, cela me donne l'union, mais je veux l'intersection.
Si vous voulez faire correspondre uniquement les éléments ayant les deux classes (une intersection, comme un ET logique), il suffit d'écrire les sélecteurs ensemble sans espaces entre eux :
$('.a.b')
L'ordre n'est pas important, vous pouvez donc intervertir les classes :
$('.b.a')
Ainsi, pour faire correspondre un élément div
dont l'ID est a
avec les classes b
et c
, vous écrirez :
$('div#a.b.c')
(En pratique, vous n'avez probablement pas besoin d'être aussi précis, et un sélecteur d'ID ou de classe en lui-même est généralement suffisant : $('#a')
).
Vous pouvez le faire en utilisant la fonction [filter()
][1] :
$(".a").filter(".b")