为什么这个.each()迭代只适用于最后一个元素?

时间:2011-11-16 10:33:29

标签: jquery

这是我的代码。

$(function(){
$(".stars").each(function(){starMap($(this))});
});
function starMap(elem)
{
 var p=elem.attr("rel");
 var t=-(5-p)*30;
 elem.css("background-position","0 "+t);
}

请参阅http://jsfiddle.net/bEVn9/3

上的JSfiddle

3 个答案:

答案 0 :(得分:2)

它实际上贯穿所有元素。在css中创建Pixel值:

elem.css("background-position","0px "+t+"px");

http://jsfiddle.net/bEVn9/2/

答案 1 :(得分:0)

正确循环遍历每个元素,但是.css()调用正在错误地设置背景位置。

this修改过的小提琴。

答案 2 :(得分:0)

试试这个:

elem.css("background-position","0 "+ t + "px");

请注意添加的 px