Javascript jQuery计算img';s来自服务器的实际高度/宽度值

Javascript jQuery计算img';s来自服务器的实际高度/宽度值,javascript,jquery,css,image,Javascript,Jquery,Css,Image,我的处境是:;当其中一个值在css上定义为0时,需要计算图像的原始宽度和高度值。我不能用jQuery更改CSS,需要这样解决: CSS: jQuery: var imgHeight = $('img').height(); alert(imgHeight);//which returning 0 ofcourse 我希望这可以用更少的代码实现,谢谢 var img = $('img'), imgHeight = img.css("width","auto").height(); im

我的处境是:;当其中一个值在css上定义为0时,需要计算图像的原始
宽度
高度
值。我不能用jQuery更改CSS,需要这样解决:

CSS:

jQuery:

var imgHeight = $('img').height();
alert(imgHeight);//which returning 0 ofcourse
我希望这可以用更少的代码实现,谢谢

var img = $('img'),
    imgHeight = img.css("width","auto").height();
img.css("width","0");
alert(imgHeight);
这是一把小提琴。我们所做的只是将高度临时设置为其自动值(即图像的100%宽度),抓取高度,然后将图像重置为
width:0

编辑:由于不能直接操作CSS,因此可以更改类:

var img = $('img'),
    imgHeight = img.addClass("auto").height();
img.removeClass("auto");
alert(imgHeight);​
和CSS:

img {width:0;}
img.auto {width:auto;}​
这是一把小提琴。我们所做的只是将高度临时设置为其自动值(即图像的100%宽度),抓取高度,然后将图像重置为
width:0

编辑:由于不能直接操作CSS,因此可以更改类:

var img = $('img'),
    imgHeight = img.addClass("auto").height();
img.removeClass("auto");
alert(imgHeight);​
和CSS:

img {width:0;}
img.auto {width:auto;}​

您可以将元素克隆到一个新的隐藏DOM节点(我假设您想在这里隐藏它)。然后移除CSS,然后测量维度。

您可以将元素克隆到一个新的隐藏DOM节点(我假设您想在这里隐藏它)。然后移除CSS,然后测量尺寸。

尝试以下操作:

var img = $("img")[0];
alert( img.naturalWidth + "x" + img.naturalHeight );
试试这个:

var img = $("img")[0];
alert( img.naturalWidth + "x" + img.naturalHeight );


首先是一个问题。您可以创建图像的DOM元素
img
set
display:none
src
。图像加载后,你们可以得到它的真实尺寸,谢谢你们的建议,但必须这样做,首先是头部。您可以创建图像的DOM元素
img
set
display:none
src
。加载图像后,您可以得到它的真实尺寸谢谢您的建议,但必须用这种方法完成,谢谢您的回答,但无法从jQuery操作css,需要用这种方法解决。然后没有其他方法,对不起。你们能操纵类吗?是的,我只是不能在这里改变宽度。谢谢你们的回答,但不能操纵来自jQuery的css,需要用这种方法来解决。那个么就并没有其他方法了,对不起。你能操作类吗?是的,我只是不能在这里更改宽度。@barlasapaydin,因为它们是图像的属性,而不是jQuery对象。我无法在我的网站上完成这项工作,需要更加努力,谢谢。如果它在演示中起作用,那么你就有责任正确地实现它。不知道
naturalWidth
/
naturalHeight
。做这件事的好方法+1.图像加载后您没有调用此命令?我认为这是一个给定的…@barlasapaydin,因为它们是图像的属性,而不是jQuery对象。我无法在我的网站上完成这项工作,需要更加努力,谢谢。如果它在演示中起作用,那么你有责任正确地实现它。从不知道
自然宽度
/
自然高度
。做这件事的好方法+1.图像加载后您没有调用此命令?我以为这是一个既定的。。。