jquery .each()丢失$(this)值

时间:2011-03-01 18:36:29

标签: jquery width positioning each

我的保证金值在这里设置为零,我不明白为什么。

$(document).ready(function() {
  $('img.thumbNormal').each(function(){
    $(this).css({'position':'relative', 'left':'50%', 'margin-left':-$(this).width()/2});
  });
});

如果我在控制台中运行相同的行,结果就是你所期望的。

任何帮助将不胜感激。谢谢!

1 个答案:

答案 0 :(得分:3)

您需要在图片加载后执行此操作。

$(window).load(function() {
    $('img.thumbNormal').each(function(){
        $(this).css({'position':'relative', 'left':'50%', 'margin-left':-$(this).width()/2});
    });
});

您目前正在$(document).ready()上进行此操作,它不会等待图片加载,并且.width()图片为0,直到它们完全加载为止。