尝试使用jquery查找图像的真实宽度

时间:2013-06-25 10:44:16

标签: jquery

我试图找到" true"使用以下代码的图像宽度:

$(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。

感谢。

2 个答案:

答案 0 :(得分:3)

 Some imageWidth are 0. 

原因是你在渲染到DOM之前计算宽度。

使用onLoad方法。因此,您将获得确切的图片,因为它已添加到DOM

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

答案 1 :(得分:1)

尝试使用window.load(在加载所有图片后调用回调

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