В jQuery(document).ready()
раз нет никакой гарантии, что изображения еще загружены.Изображения должны быть загружены, чтобы получить их ширину.Изображения загружаются асинхронно и могут завершаться после jQuery(document).ready()
срабатываний.
Чтобы точно знать, что изображение загружено, вам необходимо иметь обработчик onload
для этого конкретного изображения, чтобы вы могли знать, когда онозагружены или вам нужно проверять ширину изображения только тогда, когда все изображения на странице загружены с window.onload
или в jQuery $(window).load(fn)
.
. Самое простое, что можно сделать, это изменить код на этот:
jQuery(window).load(function() {
var imgs = jQuery('img');
var width = imgs[0].width;
console.log(width);
});
Лично я бы порекомендовал вам использовать такие методы jQuery .height()
и .width()
, как этот:
jQuery(window).load(function() {
var imgs = jQuery('img');
var width = imgs.eq(0).width();
console.log(width);
});
Вы можете увидеть эту работу здесь: http://jsfiddle.net/jfriend00/D4CyN/