使用jquery,我想循环具有“item”类的所有元素,并根据元素的索引应用不同的背景颜色。
mapcolor 是颜色数组(长度 = 具有“item”类的元素数量)
$.each($(".item"), function(i,e){
$("#"+e).css("background-color",mapcolor[i]);
});
$("#"+e)
选择器没有按预期工作,也没有$("#"+e.id)
...
我的选择器有问题。任何想法?
use .each()
方法而不是,你必须在上下文中$(this)
:
$(".item").each(function(i){
$(this).css("background-color",mapcolor[i]);
});
然而更好的方法是:
$(".item").css("background-color",function(){
return mapcolor[$(this).index()];
});
利用.css()
方法并传递回调函数以返回值。
测试如下:
var mapcolor = ['green', 'red', 'yellow'];
$(".item").css("background", function() {
return mapcolor[$(this).index()];
});
div{height:10px;}
<div class='item'></div>
<div class='item'></div>
<div class='item'></div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)