2011-12-12 79 views
0

我是新来的jquery和通过官方文档学习。在阅读我有类似这样的HTML代码...jQuery ul,嵌套列表过滤

<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 /边框属于“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选择/过滤器,以短的代码...在此先感谢...

回答

3

试一试

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

和最短的一个

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