Ik wil alle elementen selecteren die de twee klassen a
en b
hebben.
<element class="a b">
Dus alleen de elementen die beide klassen hebben.
Als ik $(".a, .b")
gebruik, krijg ik de unie, maar ik wil de intersectie.
Als je alleen elementen met beide klassen wilt matchen (een intersectie, zoals een logische AND), schrijf je de selectors gewoon samen zonder spaties ertussen:
$('.a.b')
De volgorde is niet relevant, dus je kunt de klassen ook omwisselen:
$('.b.a')
Dus om een div
element dat een ID heeft van a
te matchen met klassen b
en c
, zou je schrijven:
$('div#a.b.c')
(In de praktijk hoef je waarschijnlijk niet zo specifiek te zijn, en is een ID of klasse selector op zichzelf meestal al genoeg: $('#a')
).
Je kunt dit doen met de filter()
functie:
$(".a").filter(".b")