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

get $.height() of an Element with Images in it when Image maybe not loaded yet

本文关键字:图像 加载 元素 包含 height 获取      更新时间:2023-09-26

我在Ajax调用后插入一些HTML代码,在Ajax回调中,我需要添加的Div的高度。问题是,在 Ajax 调用的 HTML 中,有一些元素,如 Images 和其他必须首先被加载的元素。

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

我需要的是类似$(document).ready()的东西,但只是被ajax调用的元素。有人知道我怎么能做到这一点吗?

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

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

按照哈利的建议使用加载函数

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