我想选择具有两个类a和b的所有元素。
<element class="a b">
因此,只有同时具有这两个类的元素。
当我使用$(“.a,.b”)时,它给了我并集,但我想要交集。
我想选择具有两个类a和b的所有元素。
<element class="a b">
因此,只有同时具有这两个类的元素。
当我使用$(“.a,.b”)时,它给了我并集,但我想要交集。
当前回答
var elem=document.querySelector(“.a.b”);
其他回答
Vanilla JavaScript解决方案:-
document.querySelectorAll('.a.b')
组选择器
body {font-size: 12px; }
body {font-family: arial, helvetica, sans-serif;}
th {font-size: 12px; font-family: arial, helvetica, sans-serif;}
td {font-size: 12px; font-family: arial, helvetica, sans-serif;}
变成这样:
body, th, td {font-size: 12px; font-family: arial, helvetica, sans-serif;}
因此,在您的案例中,您尝试了组选择器,而它是一个交叉点
$(".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>
这也是最快的解决方案。你可以在这里看到一个基准。
var elem=document.querySelector(“.a.b”);
下面的示例将向您介绍如何在一行中同时选择多个嵌套类选择器和直接类选择器
//以下是选择器的说明//.a.b.c=选择div a和b内部的嵌套子c//.a.d=选择div a内部的嵌套子d//.f=选择直接元素,即div f,它在div a和b之外$('.a.b.c,.a.d,.f').css('背景颜色','灰色');<script src=“https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js“></script><div class=“a”>a<div class=“b”>b<div class=“c”>c</div></div><div class=“d”>d</div></div><div class=“e”>e</div><div class=“f”>f</div>