我的情况是;当其中一个在 css 上定义为 0 时,需要计算图像的原始值width
和值。heigth
我不能用jQuery改变CSS,需要这样解决:
CSS:
img { width:0px; }
jQuery:
var imgHeight = $('img').height();
alert(imgHeight);//which returning 0 ofcourse
我希望这可以用更少的代码实现,谢谢,
我的情况是;当其中一个在 css 上定义为 0 时,需要计算图像的原始值width
和值。heigth
我不能用jQuery改变CSS,需要这样解决:
CSS:
img { width:0px; }
jQuery:
var imgHeight = $('img').height();
alert(imgHeight);//which returning 0 ofcourse
我希望这可以用更少的代码实现,谢谢,
尝试这个:
var img = $("img")[0];
alert( img.naturalWidth + "x" + img.naturalHeight );
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;}
您可以将该元素克隆到一个新的隐藏 DOM 节点(我假设您想在此处隐藏它)。然后删除 CSS,然后测量尺寸。