Я хочу вибрати всі елементи, які мають два класи a
і b
.
<element class="a b">
Отже, тільки ті елементи, які мають обидва класи.
Коли я використовую $(".a, .b")
він дає мені об'єднання, а мені потрібен перетин.
Якщо ви хочете зіставити тільки елементи з обома класами (перетин, як логічне І), просто напишіть селектори разом без пробілів між ними:
$('.a.b')
Порядок не має значення, тому ви також можете поміняти класи місцями:
$('.b.a')
Таким чином, щоб зіставити елемент div
, що має ідентифікатор a
з класами b
і c
, ви б написали:
$('div#a.b.c')
(На практиці, скоріш за все, вам не потрібно отримувати таку специфіку, і зазвичай достатньо самого ідентифікатора або селектора класу: $('#a')
).
Зробити це можна за допомогою функції filter()
:
$(".a").filter(".b")