Javascript 在.each()中创建一个永不中断的循环
我试图给每个列表元素赋予不同的颜色。但是,我只有2种颜色,但有10种永久色 我的问题是: 我希望颜色再次循环,只要有永久线Javascript 在.each()中创建一个永不中断的循环,javascript,jquery,Javascript,Jquery,我试图给每个列表元素赋予不同的颜色。但是,我只有2种颜色,但有10种永久色 我的问题是: 我希望颜色再次循环,只要有永久线 var colors = ['#ff9f9d', '#EB1B53']; $('a.permalink').each(function(i) { $(this).css('color', colors[i]); console.log($(this)); }); 如果颜色数组到达末尾,确保它再次启动颜色数组的最佳方法是什么?尝试使用简
var colors = ['#ff9f9d', '#EB1B53'];
$('a.permalink').each(function(i) {
$(this).css('color', colors[i]);
console.log($(this));
});
如果颜色数组到达末尾,确保它再次启动颜色数组的最佳方法是什么?尝试使用简单的
模运算
$('a.permalink').each(function(i) {
$(this).css('color', colors[i%2]);
console.log($(this));
});
尝试使用模运算符来获取提醒,如
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];
});
演示:我想这不是最有表现力的一个,但你明白了:
var colors = ['#ff9f9d', '#EB1B53'];
$('a.permalink').each(function() {
$(this).css('color', colors.reverse()[1]);
console.log($(this));
});
如果数组中的值大于2,我可以做什么?所以会投反对票-反对票在这里无关紧要。。我很满意,我在不到半秒钟的时间里就找到了这个问题的解决方案。这对我来说已经足够了……!:)你需要写得更动态一些,比如@arun-balai对你的答案不满意。所以我投你反对票,亲爱的,谢谢+1.我将使用.length
,但这很有帮助。:)