2010-03-12 39 views
7

我有這樣的代碼:選擇所有李時珍但不是孩子

$li = $("li", this) 

這是選擇在我的代碼全部li的的。這工作正常,但我想$li排除在子菜單內的li

<ul id="navigation"> 
     <li><a href="#">blah 1</a></li> 
     <ul id="subnav"> 
      <li><a href="#">sub 1</a></li> 
      <li><a href="#">sub 2</a></li> 
      <li><a href="#">sub 3</a></li> 
     </ul> 
     </li> 
     <li><a href="#">blah 2</a></li> 
     <li><a href="#">blah 3</a></li> 
     <li><a href="#">blah 4</a></li> 
     <li><a href="#">blah 5</a></li> 
    </ul> 

所以$li只會引用blah的不是子的。

我以爲是這樣的:

$li = $("li", this).parents() 

但這並不做我想做的。

回答

19

只需使用子選擇>

$("#navigation > li") 
13

你想用直接子選擇器,>

$li = $('#navigation > li'); 
+1

@大衛:看看我們的時間戳 - 一模一樣的第二:-) – 2010-03-12 12:44:43

+1

@Andy:真棒。然後,+1。 – 2010-03-12 13:26:23

4
var li = $("#navigation > li"); 

>只選擇直接孩子

+1

+1每個人都獲得信貸: - P – Jeremy 2010-03-12 12:55:33

0

未來如果是t,Google員工可能會發現這個答案有用哎現在的位置(像我)尋找選擇所有李時珍沒有任何子女

$("#mylist li:not(:has(ul))") 

$("#mylist li:not(:has(li))") 
相關問題