jquery获取图片高度 jqueryheight 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 因為圖片還沒載入完就去取高度是取不到的除非:1.img 綁定onload 事件,再去取高度2.img 設定樣式,寫死高度就能取的到 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); })} 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);} var imglen=$(".tupian img").get(i).height; $(".tupian img").eq(i).height()这种方式也可。 你这img 元素是通过js动态添加进去的 $("dom").fun(); 这样的jquery方法是绑不上去的 你的jquery如果是 1.8一下的 有live 函数 要是 1.8以上的 用on 具体用法查查手册吧 live 用法无障碍 但 on好多人说用不好 $(document).on("click",".left-cursor",function(){ //事件主体});参数.on(事件,选择器,方法) js函数返回值 JS如何取得异步函数中返回的值 action的问题 弹出确认对话框的问题 js中得小数位得问题,round()的使用 求Windows Update 站点中“安装历史”页面里面的表格实现 这种效果用javascript怎么实现? 如何判断一个窗口是否关闭??? window.print怎样才能不在页底打印页面的标题地址信息? 【求救】关于focus事件的执行问题,来高手在线等 请问jquery如何选择tr下的n个tr? js打印问题,直接打印,不弹提示框
除非:1.img 綁定onload 事件,再去取高度
2.img 設定樣式,寫死高度就能取的到
你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);
})
}
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);
}
这种方式也可。
$(document).on("click",".left-cursor",function(){
//事件主体
});参数
.on(事件,选择器,方法)