首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >对于循环jQuery,在4项之后重新开始

对于循环jQuery,在4项之后重新开始
EN

Stack Overflow用户
提问于 2015-10-07 11:44:56
回答 6查看 338关注 0票数 2

我正在为jquery中的for循环而挣扎。我有一个.row类的div。在这个div里面有一些.item div,我不知道预先的项目数。

我想要的是在开始计数,在3结束。喜欢(0,1,2,3,0,1,2,3...etc)

HTML:

代码语言:javascript
复制
<div class="row cl">
    <div class="item"></div>
</div>

我尝试过的:

代码语言:javascript
复制
$('.row > .item').each(function(i){
    for(i=0;i<4;++i){
       // Here i want to add a class (repeatedly) if the index of the .item is 3.
    }
});

上述示例中的结果不能正常工作。到处都是3块。我知道如何添加一个类--这都是关于计数部分的。

我通常可以使用像:nth-child()这样的CSS选择器,但是我需要它在IE8中工作,而这并不支持所有的子选择器。

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2015-10-07 11:59:00

这些答案中有很多是错误的

代码语言:javascript
复制
$('.row > .item').each(function(i){
   if (i % 4 == 3)
      // Add class.
      $(this).addClass("newclass");
});

晚安

票数 2
EN

Stack Overflow用户

发布于 2015-10-07 11:47:05

您只需要比较i值和4

代码语言:javascript
复制
$('.row > .item').each(function(i){
   if (i % 3 == 0 && i != 0)
      // Add class.
      $(this).addClass("newclass");
});

也可以使用jQuery的:

代码语言:javascript
复制
$('.row .item:nth-child(3n)').addClass("active");
票数 1
EN

Stack Overflow用户

发布于 2015-10-07 11:49:09

问题是您正在用for循环重置迭代器。取而代之的是这样做:

代码语言:javascript
复制
$('.row > .item').each(function(i){
    if (i % 3 == 0 && i != 0) {
       // Here i want to add a class if the index of the .item is 3.
    }
});
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32991335

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档