For循环jQuery,在4个项目后重新开始
For loop jQuery, start over after 4 items
我有点纠结jquery中的for循环。我在类.row
中有一个div。在这个div中有许多.item
div。我事先不知道项目的数量。
我想要的是在0开始计数,并在3结束。(0, 1, 2, 3, 0, 1, 2, 3等)
HTML:<div class="row cl">
<div class="item"></div>
</div>
我试过了:
$('.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。我知道如何添加一个类,这是关于计数部分。
我通常可以使用一个CSS选择器,如
:nth-child()
,但我需要它在ie8中工作,并且不支持所有的子选择器。
这些答案有很多错误
$('.row > .item').each(function(i){
if (i % 4 == 3)
// Add class.
$(this).addClass("newclass");
});
晚安
您只需将i
值与4
值进行比较:
$('.row > .item').each(function(i){
if (i % 3 == 0 && i != 0)
// Add class.
$(this).addClass("newclass");
});
或者也可以使用jQuery的:
$('.row .item:nth-child(3n)').addClass("active");
就像这样比较索引:
$('.row > .item').each(function( i,el ){
if (i == 3)
$(el).addClass("newclass");
});
据我所知,您想要在div下添加一个类'item'和'row'。
可以使用下面的代码片段:
$('.row > .item').each(function(i, ele){
if((i+1) %4 ===0)
//Add class using $(ele).addClass();
});
此外,您可以使用CSS3伪选择器(n -child)进行相同的操作。如果您需要解决方案的帮助,请告诉我。
问题是您正在使用for循环重置迭代器。这样做:
$('.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.
}
});
如果你想给每个索引为3的倍数的项添加一个类,你可以使用像
这样的余数运算符$('.row .item').each(function(i){
if (i % 3 == 0 && i != 0)
$(this).addClass("you-new-class");
});
相关文章:
- 如何在从顶部滚动时暂停转盘/滑块,并在滚动到顶部时重新开始
- 更新画布上的高度/宽度并重新开始绘制
- 如果我重新加载页面,倒计时将重新开始 - 如何设置修复
- 如何使项目在开始另一个过渡之前完成一个过渡
- 重新开始并承诺取得进展
- JQuery 自动收报机通过减速和停止然后重新开始来播放
- 通用控件替换项目 - 如何开始
- 如何重置 jquery 动画并重新开始
- 失败后重新开始承诺
- 清除答案,重新开始JS计算器
- 每8小时到达00:00:00时刷新页面并重新开始倒计时
- 是否存在循环“;重新开始”;
- jQuery添加类数字到x并重新开始
- For循环jQuery,在4个项目后重新开始
- 如何在用户重新开始后删除动态创建的jQuery对象?在纸上
- 在THREE.js中暂停后重新开始游戏
- 倒计时在凌晨3点,上午9点,下午3点和晚上9点重新开始
- 如何从元素中清除css重新开始
- 重置计数器,重新开始
- plupload:重新开始上传(使用分块)