javascript - 为什么each()遍历数组后就结束了?

标签 javascript jquery arrays loops each

我下面有这个脚本,我希望它循环遍历每个 anchor 并给出背景

$c = ['85CC4C', 'D1FFCD', 'FF8D9D', '8A5949', 'CC8066'];
$('a').each(function(i){
$(this).css({'background':'#'+$c[i], 'color':getTintedColor($c[i], -55)});
});

为什么它在遍历完数组颜色后就停止了?我想让它重复 5 种颜色。

最佳答案

如果您想循环显示颜色,请尝试使用 $c[i % 5] 而不是 $c[i]:

$c = ['85CC4C', 'D1FFCD', 'FF8D9D', '8A5949', 'CC8066'];
$('a').each(function(i){
    $(this).css({'background':'#'+$c[i % 5], 'color':getTintedColor($c[i % 5], -55)});
});

each() 循环内,i 变量是每个 anchor 标记的索引。不过,您的颜色数组只有 5 种颜色。使用 i % 5 将始终给出 04 之间的数字,因此始终是颜色数组中的有效索引。

关于javascript - 为什么each()遍历数组后就结束了?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16908452/

相关文章:

php - Jquery UI 复选框 - 仅当选中所有子类别时才检查类别

java - 对象数组实例的深拷贝,Java

javascript - 我很难看出我什么时候会使用 date.parse 和 date.utc

javascript - 使用新的 div 网格刷新页面

javascript - 递归函数中的for循环

jquery - 在 asp.net gridview 中重新绑定(bind) jQuery 数据表

javascript - 覆盖 jqGrid 中的默认导航按钮功能

javascript - 为什么 url 附加在 ajax success Handler 中的 contextpath 之后

javascript - 从 javascript String 创建一个包含 X 个单词的数组

c++ - 我可以一次性检查一小组 boolean 值吗?