我希望隐藏除第一个之外的UL中的每个LI,但结果是它隐藏了除了所有UL的第一个LI之外的所有LI。 (我希望“显示”每个UL的第一个LI。)
我该怎么办?
<ul>
<li>first</li>
<li>second</li>
</ul>
<ul>
<li>first</li>
<li>second</li>
</ul>
当我这样做时,只识别出所有UL的第一项
$('.smallYears ul li:not(:first)').hide();
非常感谢
答案 0 :(得分:2)
如果您要排除第一个UL
,那么您需要将:not()
放在其上。
$('.smallYears ul:not(:first) li').hide();
或者您的意思是要排除每个LI
的第一个UL
。如果是这样,请执行以下操作:
$('.smallYears ul li:not(:first-child)').hide();
或者:
$('.smallYears ul li:nth-child(1)~li').hide();
答案 1 :(得分:1)
完全未经测试,但以下内容可能会有效。
$('.smallYears ul li:not(:first-child )').hide();
你正在遇到戏剧,因为:first
基本上是:eq(0)
的别名,这是jQuery集合中的第一个项目。