如何在jQuery中select多个类的元素?
我想select所有具有两个类a
和b
的元素。
<element class="ab">
所以,只有两个类的元素。
当我使用$(".a, .b")
它给了我工会,但我想要的交集。
如果你想要一个十字路口,只需将select符写在一起, 而不需要在它们之间的空格 。
$('.a.b')
所以对于ID为a
和b
的元素,你可以这样写:
$('#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>
元素,使用类code
和red
:
$('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")