3

我正在使用 ajax 动态加载图像的源,s这个源在哪里。我在 DOM 中创建了一个图像元素,在加载后为其分配此源,然后将其附加到一个div被调用的imgwrapper. 然后我尝试获取图像的尺寸,但它不起作用。我知道您无法获得动态加载的图像的尺寸,但即使在附加到 DOM 之后也无法获得?

我的代码如下:

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

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

4

2 回答 2

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 提到的。没有.appendChild()jQuery 对象。那应该.append()

于 2013-01-15T10:21:31.057 回答
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/

于 2013-01-15T10:23:54.550 回答