【问题标题】:jquery .each() losing $(this) valuesjquery .each() 丢失 $(this) 值
【发布时间】:2011-03-02 02:47:29
【问题描述】:

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

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

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

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

【问题讨论】:

  • 是否有任何其他代码或样式表可能会干扰?
  • 我认为你甚至可以省略 .each,因为 $('img.thumbNormal').css(bla) 已经解决了这个问题。
  • 代码对我来说看起来不错,在这里可以正常工作 (jsfiddle.net/Wkseg) 可能您有其他代码/css 冲突。
  • 我会尝试在 $(this).width() 周围加上括号。我猜您尝试使用 firebug 进行调试。我将引入一个变量并调试

标签: jquery width positioning each


【解决方案1】:

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

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

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

【讨论】:

    猜你喜欢
    • 2012-09-01
    • 1970-01-01
    • 2011-11-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-01-20
    • 2019-11-18
    相关资源
    最近更新 更多