JQuery - 使用类遍历div的每个实例,并将类添加到前n个项目中

时间:2009-12-14 17:21:34

标签: jquery

我有一些盒子

<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");
});

由于

克里斯

4 个答案:

答案 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");