使用jquery查找动态加载但附加DOM的图像的尺寸?
我正在使用ajax动态加载图像源,其中s
是此源。 我在DOM中创建了一个图像元素,一旦加载它就将它赋给它,然后将它附加到一个名为imgwrapper
的div
。 然后我尝试获取图像的尺寸,但它不起作用。 我知道你无法获得动态加载的图像的尺寸,但即使被追加到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,而不是给我图像的宽度。
等到图像加载完毕
//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()
而不是
你可以试试这个:
img = document.createElement("img"); img.src = "http://placehold.it/350x150"; $('#imgwrapper').append(img); console.log($('#imgwrapper').find('img').width());
工作示例: http : //jsbin.com/adajuh/1/