2012-05-03 47 views
0

我有一個厄運的樹是這樣的:如何找到基於兩個選擇器的元素?

ul #navigation 
    li .active 
    ul 
     li.active_li 
     li 
     li 
    /ul 
    li 
    ul 
     li.active_li 
     li 
     li 
    /ul 
/ul 

我想有一類active_liul內屬於具有類activeli找到li。 :)

我們可以看到有2 liactive_li類。我想只有第一個

類似:$('#navigation').find('li.active').find('li.active)li').doSomething();

這個選擇似乎並沒有工作

什麼想法?

+0

'jQuery'有後代/祖先選擇爲CSS相同的概念..這將工作:$(「#導航li.active_li」) ;它可能是父母與下劃線? –

+0

@tandu:我認爲可以肯定地說任何CSS選擇器都可以用作jQuery選擇器。 – Blender

+0

@Blender它不是.. jQuery沒有一些CSS的僞類選擇器的概念,不支持媒體查詢等(不是那些將是有意義的),並且不支持CSS 4選擇器(它是不完整的和未使用)。 CSS當然與jQuery選擇器不兼容 - 不是你說的那樣。 –

回答

2

試試這個選擇:

$('#navigation li.active ul li.active_li') 
         ^^ 
          \_ You can get rid of this, as <li> elements 
          exist only within <ul> elements. 
0

您可以使用

$('#navigation li.active li.active_li').each(function(){ 

}); 

並標記功能關閉運行後的第一個。

或者,如果你只是想第一個選擇:

$('#navigation li.active li.active_li').first(); 
相關問題