Изображения имеют свойства naturalWidth
и naturalHeight
, которые содержат фактическую неизмененную ширину и высоту изображения, то есть реальные размеры изображения, а не то, что CSS устанавливает для него.
Все равно придется подождать, пока изображение загрузится, хотя
$('#idOfMyimg').on('load', function() {
var height = this.naturalHeight,
width = this.naturalWidth;
});
Другим вариантом будет создание нового изображения с тем же файлом, что и у источника, и получение от него размеров, если оно никогда не добавляется в DOM, внешние стили не влияют на него
var img = new Image();
img.onload = function() {
var height = this.height,
width = this.width;
}
img.src = $('#idOfMyimg').attr('src');
FIDDLE