当图像可能尚未加载时,获取带有图像的元素的$ .height()

时间:2014-11-27 11:19:14

标签: javascript jquery ajax

我在Ajax调用之后插入一些HTML代码,在Ajax-Callback中我需要添加Div的高度。 问题是,在Ajax Call的HTML中,像Images和其他必须先绑定的元素之类的元素。

我在jsfiddle中做了一个简单的问题示例:http://jsfiddle.net/qbwd663s/3/ 正如您所看到的,当我添加代码时控制台显示36,但是如果您单击div它会显示242(因为图像已加载)。有时,如果图像已经在缓存中,它也可以工作,以测试它重新加载带有清除缓存的页面。

我需要的是像$(document).ready()这样的东西,但只有ajax调用的元素。任何人都知道我该怎么做?

1 个答案:

答案 0 :(得分:0)

$("div *").one("load", function() {
  alert($("div").height());
});

小提琴:http://jsfiddle.net/aravi_vel/qbwd663s/6/

使用Harry建议的加载功能

此函数将处理您列出的其他元素(iframe等)