【发布时间】:2014-06-25 17:42:48
【问题描述】:
如果在网页中我在初始页面加载和 DOM 就绪事件之后加载了一些内容,那么插入的节点何时“就绪”,在计算它们的大小的意义上,考虑 CSS 规则等等?
$.ajax({
url: ajaxUrl,
success: function (data) {
var page = $(data).find('.page').first();
page.appendTo(pages_container);
// if I try to get the width of an element here, I get 0
console.log(page.width()); // -> 0
// but if I do it, let's say 500ms later, now it is computed
setTimeout(function () {
console.log(page.width()); // -> correct width, non zero
}, 500);
}
});
是否有任何类型的事件,例如“在插入的 dom 准备就绪”或能够在计算 ajax 插入内容的大小/布局之后执行函数?
【问题讨论】:
-
@KhorneHoly — 不推荐使用
success参数。您似乎将它与 jqXHR 对象上的success方法混淆了。 -
onLoad的body标签是页面加载了包括dom结构在内的所有资源时触发的事件 -
@dreamweiver 父页面的正文?那会很奇怪……据我所见。
-
您在附加图像吗?如果是这样,在加载之前您无法计算它们的宽度。
标签: javascript jquery ajax dom dom-events