2010-05-05 56 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 
相關問題