这是内容的结构,我想选择除前两个之外的所有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>
答案 0 :(得分:9)
$("ul.first-level > li:gt(1)").hide()
我假设您正在谈论顶级级别的LI,即.first-level
的直接后代。否则,您可以省略父子选择器(>
)。
答案 1 :(得分:0)
li + li + li, ul ul li
即。位于项目旁边的项目旁边的项目,或列表中位于列表内的项目。
答案 2 :(得分:0)
只需给前两个li一个css级(例如“noLink”)并使用
$("li:not('.noLink')").hide(); //or whatever