2012-10-23 55 views
2

我讀過這太問題:具有與某些屬性的兒童jQuery的選擇父

jQuery - select children which has specific styles

但我的問題是有點不同。

我想選擇父母,他們的一級孩子(不是所有的後代)有一定的風格。這樣的事情:

<ul id="BIG"> 
    <li>Home 

     <ul id="SMALL"> 
      <li> 123 </li> 
      <li name="foo"> 123 </li> 
      <li> 123 </li> 
     </ul> 

    </li> 
    <li>Articles</li> 
    <li>Petitions</li> 
    <li>Contact</li> 
</ul> 

我想抓住UL = id =「SMALL」。但我的選擇器捕獲所有2個UL標籤:

$('ul:has(li[name="foo"])') 

任何建議?

+0

你的問題是不是風格屬性,我覺得標題改爲 –

+0

感謝,我剛剛改變了。 –

回答

2

使用child選擇>,像這樣:

$('ul > li[name="foo"]').parent() 

見工作demo

+0

我沒想到.parent()可以返回多於1個元素。非常感謝 –

+0

當然可以。 parent()返回父項集合 - 對於由選擇器$(...)選擇的每個元素,都有一個父項。 http://api.jquery.com/parent/ –

2

試試這個:

$('li[name="foo"]').parent(); 

Demo here

請注意,根據屬性選擇DOM元素很慢。儘可能限制搜索的範圍。例如:

$('#BIG').find('li[name="foo"]').parent(); 
+0

那它!謝謝 ! –