2015-11-23 35 views
1

比方說,我想找回誰擁有active子元素:相對於另一個選擇信息相匹配的結果集

$('.a .active').parents('.a'); 

有沒有辦法初始查詢,在那裏你可以指定選擇範圍內實現這一目標作爲一個參數,結果集的選擇器作爲另一個參數?

喜歡的東西:

$('.a .active', '.a'); 

回答

2

你可以爲了使用:has() selector選擇包含.active後代元素.a元素:

$('.a:has(.active)'); 

值得指出的是$('.active', '.a')context selector這將選擇.active元素的後代元素。

換句話說,

$('.active', '.a'); 

基本上等同於:

$('.a').find('.active'); 

兩個查詢的上面將匹配如下:

<div class="a"> 
    <span class="active">This would be selected by both of the above.</span> 
</div> 

於是選擇,$('.a .active', '.a'),會試圖選擇嵌套在.a元素中,然後在另一.a元素(example).active後代元素:

$('.a .active', '.a') 
<div class="a"> 
    <div class="a"> 
     <span class="active">Select this.</span> 
    </div> 
</div> 
+0

感謝約什爲深入解釋! – smaili