使用jquery获取没有指定宽度的图像宽度

时间:2011-08-31 09:14:29

标签: javascript jquery width

我有以下代码,当点击缩略图时,需要获取动态加载的图像的宽度。

$("<img class='mypopupimage' src='" + imgSrc + "' style='padding:10px;' width='500' />").appendTo("div.mydiv");

var imgWidth = $(".mypopupimage").width();

我遇到的麻烦是弹出图像的宽度都不同,但是当我从图像中删除width属性时,imgWidth变量被设置为0。

有什么想法吗?

2 个答案:

答案 0 :(得分:1)

这已经在堆栈上多次回答,但是,这里是为了方便:

clientWidthclientHeight是DOM属性,显示DOM元素内部维度的当前浏览器内大小(不包括边距和边框)。因此,对于IMG元素,这将获得可见图像的实际尺寸。

var img = document.getElementById('imageid'); 
//or however you get a handle to the IMG
var width = img.clientWidth;
var height = img.clientHeight;

此答案取自here

答案 1 :(得分:0)

如果你想使用jQuery或使用udjamaflip所述的“普通”javascript,你应该使用属性naturalWidth:

$("<img class='mypopupimage' src='" + imgSrc + "' style='padding:10px;' width='500' />").appendTo("div.mydiv");
var imgWidth = $(".mypopupimage").attr('naturalWidth');