我正在尝试使用某个类遍历页面上的所有元素,然后动态设置样式颜色。问题是它总是使用最后一个对象的颜色属性,我不知道为什么,当我记录颜色时它总是不同的?这是我的代码:
var find= $("."+id);
find.each(function(index, element) {
var colour = $(this).attr('colour');
var top = $("."+id + ".top");
var mid = $("."+id + ".middle");
var bot = $("."+id + ".bottom");
top.attr("style","border-bottom: 27px solid "+colour);
mid.attr("style","background:"+colour);
bot.attr("style","border-top: 27px solid "+colour);
});
有人知道我做错了什么吗?非常感谢!
编辑:这是 HTML:
<div class="hex-row">
<a href="">
<div class="hex ">
<div class="top image" colour="#E1BB4E"></div>
<div class="middle image" colour="#E1BB4E"></div>
<div class="bottom image" colour="#E1BB4E"></div>
</div>
</a>
<a href="">
<div class="hex ">
<div class="top publishing" colour="#A34F70"></div>
<div class="middle publishing" colour="#A34F70"></div>
<div class="bottom publishing" colour="#A34F70"></div>
</div>
</a>
</div>
问题不在于找到 div——代码的目标是正确的元素——而是将它们全部设置为相同的颜色,它应该抓取每个元素 attr('color') 并使用该颜色。