jQuery ul,嵌套列表过滤

时间:2011-12-12 06:14:05

标签: jquery jquery-selectors

我是jquery的新手并通过官方文档学习。在阅读时,我有类似这样的HTML代码...

   <ul class="level-2">
      <li class="item-a">A</li>
      <li class="item-b">B
          <ul class="level-3">
             <li class="item-1">1</li>
             <li class="item-2">2</li>
          </ul>
      </li>
      <li class="item-c">C</li>
   </ul>

我想设置backgroundColor / border是“ul.level-2”的直接子项...除了嵌套“ul”的孩子...我通过...成功获得了它...

   $("ul.level-2").children("li").each(function(){
       var theChild = $(this).children("ul").length;
       if(!theChild){
           $(this).css("backgroundColor", "red");
       };
   }); 

现在我的问题是jquery用于编写短代码...如何使用jquery selector / filter来缩短此代码...提前感谢...

1 个答案:

答案 0 :(得分:3)

试试这个

$("ul.level-2 > li:not(:has(ul))").each(function(){
$(this).css("backgroundColor", "red");
})

和最短的

  $("ul.level-2 > li:not(:has(ul))").css("backgroundColor", "red");