我正在尝试使用以下代码查找图像的“真实”宽度:

$(document).ready(function( ) {
   $('.pageContent img').each(function(){
        var theImage = new Image();
        theImage.src = $(this).attr("src");
        var imageWidth = theImage.width;
        console.log(imageWidth);
   }
}


我遇到的问题是每次重新加载页面时结果都不同。一些imageWidth为0。请问为什么会发生这种情况?

这是使用Jquery 1.9.1和Chrome。

谢谢。

最佳答案

 Some imageWidth are 0.


原因是您正在计算宽度,然后再将其渲染到DOM。

请改用onLoad方法。这样一来,您将获得准确的图像,因为它已添加到DOM

$(window).load(function( ) {
  ----------calculations goes here
}

09-16 23:24