我有这段代码:
var img = $('<img>')
.attr('src','a.jpg')
.load(function(){
alert(img.width()) ;
}) ;
宽度始终等于0,
如何获得自然宽度尺寸?
谢谢!
编辑:我只是 console.log(img)然后我看到 naturalWidth ,
但唯一的方法是: img [0] .naturalWidth
答案 0 :(得分:1)
你写的代码是对的。
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();
});