我想要以旋转顺序添加到一组div中的3个(目前可能会更多)样式。
我想分配的课程是: .blue,.red,.green
我有4个div,我想按顺序分配它们:
<div class="tripItem">
...
</div>
<div class="tripItem">
...
</div>
<div class="tripItem">
...
</div>
<div class="tripItem">
...
</div>
我希望最终结果是:
<div class="tripItem blue">
...
</div>
<div class="tripItem red">
...
</div>
<div class="tripItem green">
...
</div>
<div class="tripItem blue">
...
</div>
并且如果我要添加更多div,则以相同的顺序继续旋转。
最好的方法是什么?
答案 0 :(得分:3)
您可以将回调传递给addClass
[docs]:
var classes = ['blue', 'red', 'green'],
len = classes.length;
$('div.tripItem').addClass(function(i) {
return classes[i%len];
});
modulus operator是您的朋友,如果您想在列表中进行轮换。
答案 1 :(得分:1)
var num = 0;
var colors = ['blue','red','green'];
$('.tripItem').each(function(){
if(num >= colors.length) return false;
$(this).addClass(colors[num]);
num++;
});
答案 2 :(得分:0)
var colorArr = ['blue','red','green','yellow'];
$("div.tripItem").each(function(i){
$(this).addClass(colorArr[i]);
});