不可能在jquery中获得图像的高度

时间:2013-12-12 18:58:00

标签: jquery css height alert

我有40个带有.myImage类的图像 与css:

.myImage{
    position:absolute;
}

在jQuery中我正在做:

$('.myImage').each(function(){
    alert($(this).height());
});

我对前15张图像有一个很好的高度,但是在最后一张图像之前警报为0。 而且我很确定每个图像都会显示,因为我用其他jQuery脚本给每个图像一个位置,它们都显示出来。

为什么15张图像后警报为0?

2 个答案:

答案 0 :(得分:6)

等待加载所有图像。 DOM将准备就绪,但图像将无法加载。使用window.load事件代替jQuery的document.ready

window.load = function(){
 $('.myImage').each(function(){
  alert($(this).height());
 });
};

答案 1 :(得分:1)

或等待加载特定图片

$(document).ready(function(){
  var images = $('.myImage');

  images.one('load', function (){
    images.each(function(){
      alert($(this).height());
    })
  }).each(function() {
      if(this.complete) $(this).load();
    });
});