jsfiddleで再現するのが非常に難しいという奇妙な問題があります。私にできる最善のことはこれでしたが、これは毎回正しい幅と高さを印刷するたびに機能します。
同時にそれは50%の時間のようにしか機能しません。それ以外の場合は、画像のサイズと幅として0になります。
私のHTMLは次のとおりです。
<div role="main" id="main">
<div class="row">
<div class="twelve columns" style="float:none;">
<img src="/media/files/clientfiles/test1_X-1a_.png" id="editorImage">
</div>
<div class="four columns">zalalal</div>
</div>
</div>
一致するcssは次のとおりです。
#main {
width: 1000px;
margin: 50px auto;
background: white;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
-moz-box-shadow: 0px 0px 5px rgba(0,0,0,0.23);
-webkit-box-shadow: 0px 0px 5px rgba(0,0,0,0.23);
box-shadow: 0px 0px 5px rgba(0,0,0,0.23);
color: #666;}
.row {
width: 1000px;
max-width: 100%;
min-width: 768px;
margin: 0 auto;
}
.row .twelve {
width: 75%;
}
.column, .columns {
float: left;
min-height: 1px;
padding: 0 10px;
position: relative;
}
そしてjavascriptは
jQuery(function($){
var element = $('#editorImage');
console.log(element);
console.log(element.width());
console.log(element.height());
console.log(element.outerWidth());
console.log(element.outerHeight());
console.log(element.offsetWidth);
console.log(element.offsetHeight);
});
最初は、ドキュメントの準備ができる前に要素サイズを取得しようとすることに関連していると思いましたが、それjQuery(function($...
を処理する必要がありますね。