我试图给每个列表元素一个不同的颜色。但是,我只有2种颜色但是10种永久链接。
我的问题:
我希望颜色再次循环,只要有永久链接。
var colors = ['#ff9f9d', '#EB1B53'];
$('a.permalink').each(function(i) {
$(this).css('color', colors[i]);
console.log($(this));
});
确保它再次启动颜色数组的最佳方法是什么?如果它到达终点?
答案 0 :(得分:5)
尝试使用模数运算符来获取类似
的提醒var colors = ['#ff9f9d', '#EB1B53'];
$('a.permalink').each(function (i) {
$(this).css('color', colors[i % colors.length]);
console.log($(this));
});
它可以缩短为
$('a.permalink').css('color', function (i) {
return colors[i % colors.length];
});
演示:Fiddle
答案 1 :(得分:1)
尝试在这里使用简单的modulo
数学,
$('a.permalink').each(function(i) {
$(this).css('color', colors[i%2]);
console.log($(this));
});
答案 2 :(得分:0)
我猜的不是最高效的,但你明白了:
var colors = ['#ff9f9d', '#EB1B53'];
$('a.permalink').each(function() {
$(this).css('color', colors.reverse()[1]);
console.log($(this));
});