使用jquery查找动态加载但附加DOM的图像的尺寸?

时间:2013-01-15 10:17:59

标签: jquery css ajax image dimensions

我正在使用ajax动态加载图像源,其中s是此源。我在DOM中创建了一个图像元素,在加载后为其分配,然后将其附加到名为div的{​​{1}}。然后我尝试获取图像的尺寸,但它不起作用。我知道你无法获得动态加载的图像的尺寸,但即使在追加到DOM之后也没有?

我的代码如下:

imgwrapper

这会返回0,而不是给我图像的宽度。

2 个答案:

答案 0 :(得分:4)

等到图像加载

//use ajax to get value of s (the image source)
img = document.createElement("img"); 
img.onload = function() {
    console.log($('#imgwrapper').find('img').width());
};
img.src = s; 

$('#imgwrapper').append(img);

修改
正如@MattiasBuelens所说。 jQuery对象没有.appendChild()。那应该是.append()而不是

答案 1 :(得分:0)

你可以试试这个:

img = document.createElement("img"); 
img.src = "http://placehold.it/350x150"; 
$('#imgwrapper').append(img); 
console.log($('#imgwrapper').find('img').width());

工作示例:http://jsbin.com/adajuh/1/