如何在jQuery中select多个类的元素?

我想select所有具有两个类ab的元素。

 <element class="ab"> 

所以,只有两个类的元素。

当我使用$(".a, .b")它给了我工会,但我想要的交集。

如果你想要一个十字路口,只需将select符写在一起, 而不需要在它们之间的空格

 $('.a.b') 

所以对于ID为ab的元素,你可以这样写:

 $('#abc') 

你可以使用filter()函数来做到这一点:

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

对于这种情况

 <element class="a"> <element class="bc"> </element> </element> 

您需要在.a.bc之间放置一个空格

 $('.a .b.c') 

你遇到的问题是你正在使用Group Selector ,而你应该使用一个Multiples selector ! 更具体地说,你使用$('.a, .b')而你应该使用$('.a.b')

有关更多信息,请参阅下面结合select器的不同方式的概述!


组select器:“,”

select所有<h1>元素和所有<p>元素和所有<a>元素:

 $('h1, p, a') 

倍数select器:“”(无字符)

selecttext type所有<input>元素,使用类codered

 $('input[type="text"].code.red') 

后代select器:“”(空格)

select<p>元素中的所有<i> <p>元素:

 $('p i') 

子select器:“>”

select<li>元素的直接子元素的所有<ul>元素:

 $('li > ul') 

邻居兄弟select器:“+”

select紧接在<h2>元素之后的所有<a>元素:

 $('h2 + a') 

一般兄弟姐妹select:“〜”

select所有属于<div>元素的兄弟元素的<div>元素:

 $('div ~ span') 
 <div class="a">a <div class="b">b</div> <div class="c">c</div> <div class="d">d</div> </div> $('.a .b , .a .c').css('border', '2px solid yellow'); //selects b and c 

香草JavaScript解决scheme: –

document.querySelectorAll('.a.b')

只要提一下元素的另一个例子:

例如<div id="title1" class="ABC">

只需input: $("div#title1.ABC")

为了更好的performance,你可以使用

 $('div.a.b') 

这只会通过div元素而不是遍历页面上的所有html元素。

组select器

 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;} 

所以在你的情况下,你已经尝试了组select器,而它的交集

 $(".a, .b") 

而是使用这个

 $(".ab")