通常の DIV 内にある画像があります。それを DIV b としましょう。DIV b の上には別の DIV があり、これを DIV a と呼びます。DIV a にはオーバーフローがあります: 非表示です。コードは次のとおりです。
<div id="a">
<div id="b">
<img id="image" src="http://fgjdfgsjh.com/images/hghgajfhsd.jpg" height="186" width="900">
</div>
</div>
... ここで、この例の重要な CSS をいくつか示します。
#a {overflow: hidden; height: 128px;}
...そして最後にいくつかの .js:
<script>
$(document).ready(function(){
var test = $('#image').attr('height');
alert(test);
});
</script>
ご覧のとおり、画像にはすでに高さ属性が設定されています。私のスクリプト (jQuery) はその情報を取得する必要がありますが、$('#image').attr('height') を使用すると、スクリプトは数値 128 を提供します。これは、 #a 要素を含む要素の高さです。 HTML で属性として設定されている 186 である、イメージの予想される高さではなく、#b とイメージ。
これは Chrome で発生しています。Firefox は画像の正しい高さを取得できます (128 ではなく 186)。
Chromeで画像の実際の元の高さを取得するにはどうすればよいですか? プレーンでシンプルなjQueryでそれを行うことは可能ですか、それとも何らかのギミックを行う必要がありますか(別のオブジェクトに画像をリロードして元の高さを確認するなど)?