如何获取索引不等于2的ul中的li,我知道如何获取索引gt或lt 2
How to get the li in a ul which index is not equal to 2,I know how to get the index gt or lt 2
现在我想把除索引等于show.I的li
之外的所有li
隐藏起来都写了代码,但是我能有比这更简单的代码吗? jQuery 有 eq,gt,lt
,但没有 not eq
方法。
$('#ulMenu').children("li:lt(2)").hide();
$('#ulMenu').children("li:gt(2)").hide();
$('#ulMenu').children("li:not(2)").hide(); //wrong method
怎么样
$('#ulMenu li').eq(someIndexHere).hide();
您可以组合 eq 和 not 选择器:
$('#ulMenu li:not(:eq(2))').hide();
直接使用 CSS 选择器:
$("ul li:not(:nth-child(2))").hide();
所有 li
不是 ul
的 nth-child(n)
。
片段:
$("ul li:not(:nth-child(2))").hide();
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<ul>
<li>one</li><li>two</li><li>three</li><li>four</li><li>five</li>
</ul>
除了一个大而难读的选择器,另一种方法是隐藏所有选择器而不是显示所需的选择器:
$('#ulMenu li').hide().filter(':eq(2)').show();
现在我想把除索引等于show.I的li
之外的所有li
隐藏起来都写了代码,但是我能有比这更简单的代码吗? jQuery 有 eq,gt,lt
,但没有 not eq
方法。
$('#ulMenu').children("li:lt(2)").hide();
$('#ulMenu').children("li:gt(2)").hide();
$('#ulMenu').children("li:not(2)").hide(); //wrong method
怎么样
$('#ulMenu li').eq(someIndexHere).hide();
您可以组合 eq 和 not 选择器:
$('#ulMenu li:not(:eq(2))').hide();
直接使用 CSS 选择器:
$("ul li:not(:nth-child(2))").hide();
所有 li
不是 ul
的 nth-child(n)
。
片段:
$("ul li:not(:nth-child(2))").hide();
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<ul>
<li>one</li><li>two</li><li>three</li><li>four</li><li>five</li>
</ul>
除了一个大而难读的选择器,另一种方法是隐藏所有选择器而不是显示所需的选择器:
$('#ulMenu li').hide().filter(':eq(2)').show();