如何递增到特定数字(3),然后重置,循环回第一个数字。第一个数字应从1开始(不是0)。
我尝试过使用:i=1; i<=3; i+=1
这是我的基本代码:
$(document).ready(function() {
$(".std-price .local-pricing").each(function(i) {
$(this).addClass("ab-price" + (i));
});
});
如果我使用for()
或each()
,那么它会给我class="ab-price1 ab-price2 ab-price3"
任何帮助和参考链接(在此过程中学习)都会很棒。
谢谢!
答案 0 :(得分:3)
如果您想设置班级ab-price1, ab-price2, ab-price3, ab-price1, ab-price2
等,那么您可以这样做:
$(".std-price .local-pricing").each(function(i) {
$(this).addClass("ab-price" + (1+(i%3)));
});
如果您不需要与IE8兼容,这也可以使用:nth-of-type() pseudo class在纯CSS中解决。
答案 1 :(得分:2)
您可以使用modulo operator:
$(".std-price .local-pricing").addClass(function(i) {
return "ab-price" + (i % 3 + 1);
});
此外,相当多的jQuery函数需要回调(例如addClass
,width
,attr
和prop
),因此您通常可以摆脱{{1 }}