Javascript 在.each()中创建一个永不中断的循环

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)); }); 如果颜色数组到达末尾,确保它再次启动颜色数组的最佳方法是什么?尝试使用简

我试图给每个列表元素赋予不同的颜色。但是,我只有2种颜色,但有10种永久色

我的问题是:

我希望颜色再次循环,只要有永久线

  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
,但这很有帮助。:)