Ich möchte alle Elemente auswählen, die die beiden Klassen "a" und "b" haben.
<element class="a b">
Also, nur die Elemente, die beide Klassen haben.
Wenn ich $(".a, .b")
verwende, erhalte ich die Vereinigung, aber ich möchte die Schnittmenge.
Wenn Sie nur Elemente mit beiden Klassen abgleichen wollen (eine Überschneidung, wie ein logisches UND), schreiben Sie die Selektoren einfach zusammen ohne Leerzeichen dazwischen:
$('.a.b')
Die Reihenfolge ist nicht relevant, Sie können also auch die Klassen vertauschen:
$('.b.a')
Um also ein "div"-Element mit der ID "a" mit den Klassen "b" und "c" abzugleichen, würden Sie schreiben:
$('div#a.b.c')
(In der Praxis müssen Sie wahrscheinlich nicht so genau werden, und ein ID- oder Klassenselektor allein reicht in der Regel aus: $('#a')
.)
Sie können dies mit der Funktion filter()
tun:
$(".a").filter(".b")