Voglio selezionare tutti gli elementi che hanno le due classi a
e b
.
<element class="a b">
Quindi, solo gli elementi che hanno entrambe le classi.
Quando uso $(".a, .b")
mi dà l'unione, ma io voglio l'intersezione.
Se volete abbinare solo elementi con entrambi le classi (un'intersezione, come un AND logico), scrivete semplicemente i selettori insieme senza spazi in mezzo:
$('.a.b')
L'ordine non è rilevante, quindi potete anche scambiare le classi:
$('.b.a')
Quindi, per abbinare un elemento div
che ha un ID di a
con le classi b
e c
, si scriverebbe:
$('div#a.b.c')
(In pratica, molto probabilmente non c'è bisogno di essere così specifici, e un selettore di ID o di classe da solo è di solito sufficiente: $('#a')
.)
Potete farlo usando la funzione filter()
:
$(".a").filter(".b")