【发布时间】:2011-07-04 13:03:41
【问题描述】:
有没有一种方法可以使用 jQuery 或 JavaScript 检查给定选择器/元素的 HTML DOM 元素是否已准备好?
查看 jQuery api 的 ready 函数,它看起来只能与文档对象一起使用。如果 ready 不能用于此目的,还有其他方法吗?
例如
$('h1').ready(function()
{
//do something when all h1 elements are ready
});
显然我可以使用
$(document).ready(function()
{
//do something when all h1 elements are ready
});
但是如果首先加载所有 h1 元素,那么特定于 h1 元素的代码将仅在整个文档准备好后执行,即使它实际上可以更早执行。
【问题讨论】:
-
为什么要在文档准备好之前执行它?
-
请问,你为什么需要这个?
-
我认为尽早执行脚本不会提高网站的整体性能,因为通常情况下,JavaScript 执行会阻止其他内容的加载。你最好的选择是使用
$(document).ready。 -
@nWorx/anasnakawa 我想在某些 HTML 元素准备好时触发一些 AJAX 事件,但其他元素(如表格)强制准备函数等待它们完成加载
-
有点奇怪,看到有多少人想知道它的用途。有很多基于 JS 的控件纯粹是在运行时创建的。这意味着文档就绪机制将毫无用处。如果使用 createElement() 创建元素,则在调用函数退出之前不会填充元素(例如原型设置)。当您使用传统的构造函数/析构函数模式和 VMT(从 C++、Delphi 等编译时很常见)时,这会导致问题。
标签: javascript jquery