我想选择具有两个类a和b的所有元素。

<element class="a b">

因此,只有同时具有这两个类的元素。

当我使用$(“.a,.b”)时,它给了我并集,但我想要交集。


当前回答

您可以根据需要使用getElementsByClassName()方法。

var elems=document.getElementsByClassName(“a b c”);elems[0].style.color=“绿色”;console.log(elems[0]);<ul><li class=“a”>a</li><li class=“a b”>a,b</li><li class=“a b c”>a、b、c</li></ul>

这也是最快的解决方案。你可以在这里看到一个基准。

其他回答

您可以根据需要使用getElementsByClassName()方法。

var elems=document.getElementsByClassName(“a b c”);elems[0].style.color=“绿色”;console.log(elems[0]);<ul><li class=“a”>a</li><li class=“a b”>a,b</li><li class=“a b c”>a、b、c</li></ul>

这也是最快的解决方案。你可以在这里看到一个基准。

只需提及另一个带有元素的案例:

例如<div id=“title1”class=“A B C”>

只需键入:$(“div#title1.A.B.C”)

可以使用filter()函数执行此操作:

$(".a").filter(".b")

Vanilla JavaScript解决方案:-

document.querySelectorAll('.a.b')

对于本案

<element class="a">
  <element class="b c">
  </element>
</element>

你需要在.a和.b.c之间加一个空格

$('.a .b.c')