我想隐藏除最后2 以外的所有 Divs 。在我的情况下,Div的数量可以增加。
我搜索了一些主题,所以现在我能够隐藏除了最后一个div之外的所有主题。
到目前为止,这是我的代码:http://jsfiddle.net/D83ZC/11/
HTML:
<div class="container">
<p> This is Div 1
</div>
<div class="container">
<p> This is Div 2
</div>
<div class="container">
<p> This is Div 3
</div>
<div class="container">
<p> This is Div 4
</div>
<div class="container">
<p> This is Div 5
</div>
CSS:
.container{
border:black 1px solid;
}
Jquery的:
$('.container').not(':last').hide();
答案 0 :(得分:7)
使用.slice()
方法。
$(".container").slice(0, -2).hide();
这与Array.prototype.slice
的行为相同,您提供的第二个索引可能是一个负数,从最后开始计算。
这将非常快,并且不依赖于jQuery(通过Sizzle)附带的非标准选择器,这意味着浏览器的本机选择器引擎将进行初始DOM选择。
答案 1 :(得分:4)
您可以使用CSS3选择器nth-last-child
$('.container:nth-last-child(n+3)').css('background-color', 'red');
这将从0开始选择与n + 3匹配的所有项目,因此这是第三个,第四个,依此类推;从最后开始