2011-08-09 29 views
0

我有這個名單獲取每一級李

<ul> 
    <li> 
     <ul> 
      <li></li> 
      <li></li> 
      <li></li> 
     </ul> 
    </li> 
    <li></li> 
    <li></li> 
    <li></li> 
</ul> 

我只需要獲得第一級LIS提前

回答

3

你不能使用直接子選擇器?

$("body > ul > li") 

這應該只返回是UL的直接子李標籤,而這一點:

$("ul li") 

將返回所有子孫李標籤,它會根據UL各級找到李後裔。

這整個選擇將工作好了很多,如果你把一個ID的UL要獲得第一級李標籤。然後,您選擇可能是這樣的:

$("#myID > li") 

,它會獨立於您所在DOM的位置(而第一個必須是身體標記的直接子女才能工作)。

3

假設第一ul

由於是body直接子你可以使用這個選擇器:

$('body > ul > li'); 
0

試圖保持它作爲一般應用地:

$('ul').filter(function(){ 
    return ($(this).closest('li').length == 0); 
}).children('li'); 

從@Kokos或@ jfriend00是偉大無論答案。唯一的問題是如果<ul>不是<body>的直接後代。

如果這是一次性場景,可能會多發一點,我們可以指定;否則在不知道更多關於文檔結構的情況下,需要進行全面的推廣(,參見上面的)。

0

在KOKOS和jfriend00答案的頂部,你可以使用:

$(selector).children(); 

要選擇選擇的只是直接孩子的。如果你已經在你的選擇器中選擇了HTML,只需帶上它的孩子。