如何使用 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>