我有一些盒子
<div class='ICS_Picture'>
Text
</div>
<div class='ICS_Picture'>
Text
</div>
<div class='ICS_Picture'>
Text
</div>
<div class='ICS_Picture'>
Text
</div>
我希望jquery在前n个项目之后为所有项目添加一个类..
我有一些类似的代码可以用于tr,但是无法获得当前项目的语法。
$('.ICS_Picture').each(function(){
$(this).addClass("hideme");
});
由于
克里斯
答案 0 :(得分:10)
$('.ICS_Picture:lt(n)').addClass('hideme');
n是您希望应用该类的元素数。因此,如果您想将它应用于前四个元素,n = 4。
编辑 -
我刚刚重读了这个问题,OP正在寻找将样式应用于某个数字之后的项目。在这种情况下,请改用:
$('.ICS_Picture:gt(n-1').addClass('hideme');
请注意n-1,因为索引是从零开始的,所以如果你想在第4个元素之后开始应用样式,你需要确保你提供的值是3.显然,标准的连接规则将会如果你计划将n设为动态值而不是硬编码,则适用。
答案 1 :(得分:2)
$('.ICS_Picture:gt(4)').addClass('hideeme');
答案 2 :(得分:-1)
首先,每个都不是迭代jquery对象的最优化方法。
你可以做些什么来实现你想要的:
var $ICSPictures = $('.ICS_Picture');
for (var i=0;i<$ICSPictures.length;i++){
if(i>=myLimit)
$ICSPictures.eq(i).addClass("hideme");
}
myLimit
是您在问题中引用的 n 号码。
答案 3 :(得分:-1)
您可以使用gt() selector:
执行此操作var toSkip = 4;
$('.ICS_Picture:gt(' + (toSkip - 1) + ')').addClass("hideme");