如何使用 jquery 定位超出特定级别的所有嵌套列表项?
How to target all nested list items beyond a specific level using jquery?
我有一个列表
<ul>
<li>
<ul>
<li>
<ul>
<li> <-- start targeting list items here including children -->
<ul>
<li> <-- included -->
</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
我想使用 jquery
定位从第二个或第三个嵌套列表开始的所有列表项,包括所有子项
var selector = $('ul > li > ul > li > ul li');
第三个 li
有三个 ul
parent。您需要使用每个 li
的 ul parent 的 .filter()
and in it function check length
来过滤 li,以过滤嵌套的 li。
$("ul:first li").filter(function(){
return $(this).parents("ul").length > 2 ? true : false;
}).css("color", "red");
$("ul:first li").filter(function(){
return $(this).parents("ul").length > 2 ? true : false;
}).css("color", "red");
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<ul>
<li>First
<ul>
<li>Second
<ul>
<li>Third
<ul>
<li>Fourth</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
我有一个列表
<ul>
<li>
<ul>
<li>
<ul>
<li> <-- start targeting list items here including children -->
<ul>
<li> <-- included -->
</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
我想使用 jquery
定位从第二个或第三个嵌套列表开始的所有列表项,包括所有子项var selector = $('ul > li > ul > li > ul li');
第三个 li
有三个 ul
parent。您需要使用每个 li
的 ul parent 的 .filter()
and in it function check length
来过滤 li,以过滤嵌套的 li。
$("ul:first li").filter(function(){
return $(this).parents("ul").length > 2 ? true : false;
}).css("color", "red");
$("ul:first li").filter(function(){
return $(this).parents("ul").length > 2 ? true : false;
}).css("color", "red");
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<ul>
<li>First
<ul>
<li>Second
<ul>
<li>Third
<ul>
<li>Fourth</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>