[英]How to hide all elements except the last one (by class) using jQuery
我有一个看起来像这样的菜单(以1个列表项为例):
<ul class="dyn makeLink" style="display: block;">
<li id="licategory_1">
<a href="/nfl-lines" title="" class="linkItem">
<strong>NFL</strong>
</a>
<span class="expCollPos" >
<span class="collapsed"></span>
</span>
<span class="expCollPos linkItem" >
<span class="collapsed"></span>
</span>
<span class="expCollPos" >
<span class="collapsed"></span>
</span>
</li>
<li id="licategory_2">
...
</li>
</ul>
出于某种奇怪的原因,这3个spans(.expCollPos),前两个与我无关,我正尝试仅使用jQuery删除它们。
我尝试使用: $('.dyn li span.expCollPos:last-child').css("display", "none");
以及其他几个-但这只是删除了所有.expCollPos
类。
难道我做错了什么?
(我有一个必须编辑的代码,它看起来太可怕了!javascript函数尚不清楚,并且CSS具有太多“!important”,以至于我找不到什么。)
您想隐藏除最后一个以外的所有内容,因此您必须说不像最后一个一样
$('.dyn li').find('span.expCollPos:not(:last)').hide();
尝试
$(".dyn li span.expCollPos").slice(-1).hide();
$(".dyn li span.expCollPos").slice(-1).hide()
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> <ul class="dyn makeLink" style="display: block;"> <li id="licategory_1"> <a href="/nfl-lines" title="" class="linkItem"> <strong>NFL</strong> </a> <span class="expCollPos" > <span class="collapsed">1</span> </span> <span class="expCollPos linkItem" > <span class="collapsed">2</span> </span> <span class="expCollPos" > <span class="collapsed">3</span> </span> </li> <li id="licategory_2"> </li> </ul>
用这个
$('#licategory_1 span.expCollPos').eq(2).show();
$('body').find('.teads-inread:not(:last)').hide();
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.