2010-05-05 23 views
3

这里是内容的结构,我想选择所有LI除了前两个(即没有链接)如何选择LI除第一和第二?

jQuery(document).ready(function(){ 

    var nosubnav = jQuery('.first-level li:not(:has(ul))'); 
    var nosubnavsize = jQuery('.first-level li:not(:has(ul))').size(); 
    jQuery(nosubnav).css('border' , '1px solid red'); 
    alert('List item which does not have submenu '+nosubnavsize); 

}); 

div class="navigation-container"> 
    <ul class="first-level"> 
    <li><a href="#">No Link</a></li> 
    <li><a href="#">No Link</a></li> 
     <li><a href="#">Link 1</a></li> 
     <li><a href="#">Link 2</a> 
     <ul> 
      <li><a href="#">Link2.1</a></li> 
      <li><a href="#">Link2.2</a> 
      <ul> 
       <li><a href="#">Link 2.2.1</a></li> 
      </ul> 
      </li> 
     </ul> 
     </li> 
     <li><a href="#">Link </a></li> 
    </ul> 
    </div> 

相关的问题:How to count li which does not have ul?

回答

9
$("ul.first-level > li:gt(1)").hide() 

我假设你在谈论的LIS这些都对顶部水平,即.first-level直接后裔。否则,您可以省略父级子选择器(>)。

http://api.jquery.com/gt-selector/

+0

感谢,,工程:) – 2010-05-05 12:43:20

0
li + li + li, ul ul li 

即位于项目旁边的项目旁边的项目或位于列表内的列表内的项目。

0

只要给前两个li's一个CSS类(如 “noLink”),并使用

$("li:not('.noLink')").hide(); //or whatever 
相关问题