我想选择具有两个类a和b的所有元素。
<element class="a b">
因此,只有同时具有这两个类的元素。
当我使用$(“.a,.b”)时,它给了我并集,但我想要交集。
我想选择具有两个类a和b的所有元素。
<element class="a b">
因此,只有同时具有这两个类的元素。
当我使用$(“.a,.b”)时,它给了我并集,但我想要交集。
当前回答
可以使用filter()函数执行此操作:
$(".a").filter(".b")
其他回答
为了获得更好的性能,您可以使用
$('div.a.b')
这将只查看div元素,而不是单步查看页面上的所有html元素。
Vanilla JavaScript解决方案:-
document.querySelectorAll('.a.b')
对于本案
<element class="a">
<element class="b c">
</element>
</element>
你需要在.a和.b.c之间加一个空格
$('.a .b.c')
如果您希望只匹配两个类的元素(交集,如逻辑AND),只需将选择器写在一起,其间不留空格:
$('.a.b')
顺序不相关,因此您也可以交换类:
$('.b.a')
因此,要将ID为a的div元素与类b和c相匹配,您可以编写:
$('div#a.b.c')
(在实践中,您很可能不需要获得特定的ID,而ID或类选择器本身通常就足够了:$(“#a”)。)
可以使用filter()函数执行此操作:
$(".a").filter(".b")