我有這個名單獲取每一級李
<ul>
<li>
<ul>
<li></li>
<li></li>
<li></li>
</ul>
</li>
<li></li>
<li></li>
<li></li>
</ul>
我只需要獲得第一級LIS提前
我有這個名單獲取每一級李
<ul>
<li>
<ul>
<li></li>
<li></li>
<li></li>
</ul>
</li>
<li></li>
<li></li>
<li></li>
</ul>
我只需要獲得第一級LIS提前
你不能使用直接子選擇器?
$("body > ul > li")
這應該只返回是UL的直接子李標籤,而這一點:
$("ul li")
將返回所有子孫李標籤,它會根據UL各級找到李後裔。
這整個選擇將工作好了很多,如果你把一個ID的UL要獲得第一級李標籤。然後,您選擇可能是這樣的:
$("#myID > li")
,它會獨立於您所在DOM的位置(而第一個必須是身體標記的直接子女才能工作)。
假設第一ul
由於是body
直接子你可以使用這個選擇器:
$('body > ul > li');
試圖保持它作爲一般應用地:
$('ul').filter(function(){
return ($(this).closest('li').length == 0);
}).children('li');
從@Kokos或@ jfriend00是偉大無論答案。唯一的問題是如果<ul>
不是<body>
的直接後代。
如果這是一次性場景,可能會多發一點,我們可以指定;否則在不知道更多關於文檔結構的情況下,需要進行全面的推廣(,參見上面的)。
在KOKOS和jfriend00答案的頂部,你可以使用:
$(selector).children();
要選擇選擇的只是直接孩子的。如果你已經在你的選擇器中選擇了HTML,只需帶上它的孩子。