我有这个代码:
var img = $('<img>')
.attr('src','a.jpg')
.load(function(){
alert(img.width()) ;
}) ;
宽度始终等于 0,
如何获得自然宽度尺寸?
谢谢!
编辑:我只是console.log(img)然后我看到了naturalWidth,
但获得它的唯一方法是:img[0].naturalWidth
我有这个代码:
var img = $('<img>')
.attr('src','a.jpg')
.load(function(){
alert(img.width()) ;
}) ;
宽度始终等于 0,
如何获得自然宽度尺寸?
谢谢!
编辑:我只是console.log(img)然后我看到了naturalWidth,
但获得它的唯一方法是:img[0].naturalWidth
您编写的代码是正确的。
var img = $('<img>')
.attr('src','a.jpg')
// Correct till here
// Wrong after this!
.load(function(){
alert(img.width()) ;
});
但是,它仍然不是在 DOM 中作为布局。所以,这行不通。您需要做的是,您需要将它放在 DOM 中。
所以,最好的办法是,将它放在 DOM 中并获取属性。
var img = $('<img>')
.attr('src','a.jpg')
.appendTo('body');
alert(img.height());
img.remove();
$(document).ready(function(){
var img = $('<img>')
.attr('src','http://blog.tmcnet.com/blog/rich-tehrani/uploads/new-microsoft-logo.png')
.css('visibility', 'hidden')
.appendTo('body');
var imgHt = img.height();
alert(imgHt);
img.remove();
});