在DOM准备好之前运行jQuery代码?

有没有办法在DOM准备好之前执行jQuery代码?

jQuery只是Javascript,所以问题是“它是否有可能在DOM准备好之前运行JavaScript”,并且我猜你的意思是文档而不是DOM。

如果我们同意问题是“是否可以在文档准备好之前运行JavaScript”。 然后答案是肯定的。 遇到时会执行JavaScript。

这就是为什么你几乎总是看到$(function(){...})$(document).ready(function(){...})原因,因为大多数jQuery代码都要求文档准备就绪,但代码附加了事件处理程序肯定在文档准备好之前执行(否则它将无法处理文档就绪事件)。

通常,您应该将您的Javascript包含在HTML的底部,但如果您希望它更早地执行,您可以将其放在文档的前面,例如标题中。

   ...   ...  

如果在文档的头部包含jQuery,然后在头部的另一个脚本标记中编写代码,它将在DOM准备好之前运行:

        

但是,很明显,您将无法与任何DOM元素进行交互,因为它们尚不存在。


话虽如此,您可以在现代浏览器中使用一种技术,它允许您在DOM元素插入页面时与DOM元素进行交互(当浏览器呈现它时)。 它依赖于CSS动画事件 。 我写了一个简单的库(Progressive.js)来使这更容易处理。