1

私は次のような状況にあります。それらの1つがcssで0を定義したときに、画像の元の値と値を計算する必要がありwidthます。heigthjQueryでCSSを変更することはできません。次のように解決する必要があります。

これがリンク例です。

CSS:

img { width:0px; }​

jQuery:

var imgHeight = $('img').height();
alert(imgHeight);//which returning 0 ofcourse

これが少ないコードで可能になることを願っています、ありがとう、

4

3 に答える 3

5

これを試して:

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

http://jsfiddle.net/mjaA3/50/

于 2012-08-01T18:38:12.460 に答える
0
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;}​
于 2012-08-01T18:30:58.243 に答える
0

要素を新しい非表示のDOMノードに複製できます(ここで非表示にしたいと思います)。次に、CSSを削除してから、寸法を測定します。

于 2012-08-01T18:31:25.987 に答える