我有一个颜色列表,我想添加到我的ul中的每个li,但是在li的数量通过颜色的数量后,我希望颜色从第一种颜色开始。这就是我的意思
$(document).ready(function(){
var color=['#0098c3','#bed600','#a30050','#9b1889'];
$('#div_id ul li').each(function(i){
$(this).css('backgroundColor',color[i]);
});});
先谢谢你
答案 0 :(得分:3)
使用模数运算符循环。
$(document).ready(function(){
var color=['#0098c3','#bed600','#a30050','#9b1889'];
$('#div_id ul li').each(function(i){
$(this).css('backgroundColor',color[i % color.length]);
});
});
答案 1 :(得分:1)
您可以使用模数来执行此操作。
初始化一个计数器c
,使用c++ % color.length
作为索引,因此每当它超过color
的长度时,它就会跳回0
。
$(document).ready(function() {
var color = ['#0098c3', '#bed600', '#a30050', '#9b1889'];
var c = 0;
$('#div_id ul li').each(function(i) {
$(this).css('backgroundColor', color[c++ % color.length]);
});
});

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="div_id">
<ul>
<li><a href="#">stupid link 1</a>
</li>
<li><a href="#">stupid link 2</a>
</li>
<li><a href="#">stupid link 3</a>
</li>
<li><a href="#">stupid link 4</a>
</li>
<li><a href="#">stupid link 5</a>
</li>
<li><a href="#">stupid link 6</a>
</li>
<li><a href="#">stupid link 7</a>
</li>
<li><a href="#">stupid link 8</a>
</li>
</ul>
</div>
&#13;
答案 2 :(得分:1)
这是更正后的版本,使用模数得到余数:
$(document).ready(function(){
var color=['#0098c3','#bed600','#a30050','#9b1889'];
$('#div_id ul li').each(function(i){
var colorIndex = i % color.length;
$(this).css('backgroundColor',color[colorIndex]);
});
});
答案 3 :(得分:0)
请尝试以下方法:
$(document).ready(function(){
var color=['#0098c3','#bed600','#a30050','#9b1889'];
$('#div_id ul li').each(function(i){
i=i % color.length;
$(this).css('backgroundColor',color[i]);
});
});
如果i
到达color.length
,则将其初始化;这是the working DEMO。
答案 4 :(得分:0)
只需在css background-color之前添加i = i % color.length
即可
$(document).ready(function() {
var color = ['#0098c3', '#bed600', '#a30050', '#9b1889'];
$('#div_id ul li').each(function(i) {
i = i % color.length
$(this).css('backgroundColor', color[i]);
});
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="div_id">
<ul>
<li><a href="#">stupid link 1</a>
</li>
<li><a href="#">stupid link 2</a>
</li>
<li><a href="#">stupid link 3</a>
</li>
<li><a href="#">stupid link 4</a>
</li>
<li><a href="#">stupid link 5</a>
</li>
<li><a href="#">stupid link 6</a>
</li>
<li><a href="#">stupid link 7</a>
</li>
<li><a href="#">stupid link 8</a>
</li>
</ul>
</div>
&#13;