解决方案 »

  1.   

    因為圖片還沒載入完就去取高度是取不到的
    除非:1.img 綁定onload 事件,再去取高度
    2.img 設定樣式,寫死高度就能取的到
      

  2.   

    1楼说的是对的
    你append了之后立即获取图片高度  这时候图片还没有加载完毕  所以高度是获取不到的。
    如果想在append之后弹出正确的值  需要对图片进行预加载  预加载完毕后再进行append和alert。至于预加载 方法有很多,推荐一个:http://www.planeart.cn/?p=1121#comment-3623
    如果按照给你推荐的这个方法 的话  如下:
    首先 把方法引用进页面然后:for(var i=0;i<array.length;i++){
          keyArray=array[i].split("=");
          imgReady(keyArray[0],function(){ //你原来的代码不变  只需要把append和alert写在回调函数中即可
             $(".tupian").append("<div><img src="+keyArray[0]+" alt='' /></a></div>");
              var imglen=$(".tupian img").height();
              alert(imglen);
           })
    }
      

  3.   

    for(var i=0;i<array.length;i++){
          keyArray=array[i].split("=");
      $(".tupian").append("<div><img src="+keyArray[0]+" alt='' /></a></div>");
     var imglen=$(".tupian img").height();
     alert(imglen);
    }
    通过动态加进去的i个图片,你那种写法实际只是取的第一个图片的高度。
    for(var i=0;i<array.length;i++){
          keyArray=array[i].split("=");
      $(".tupian").append("<div><img src="+keyArray[0]+" alt='' /></a></div>");
     var imglen=$(".tupian img").get(i).height;
     alert(imglen);
    }
      

  4.   

    var imglen=$(".tupian img").get(i).height;
      

  5.   

    $(".tupian img").eq(i).height()
    这种方式也可。
      

  6.   

    你这img 元素是通过js动态添加进去的   $("dom").fun();  这样的jquery方法是绑不上去的   你的jquery如果是 1.8一下的  有live 函数  要是 1.8以上的  用on     具体用法查查手册吧
      

  7.   

    live 用法无障碍  但 on好多人说用不好   
    $(document).on("click",".left-cursor",function(){
        //事件主体
    });参数
    .on(事件,选择器,方法)