在DOM准备就绪之前,有没有一种方法可以执行jQuery代码?
在DOM准备就绪之前,有没有一种方法可以执行jQuery代码?
jQuery实际上就是JavaScript,因此问题实际上是"是否可能在DOM准备就绪之前运行JavaScript",并且我猜你指的是文档而不是DOM。
如果我们能够达成共识,那么问题就是"是否可能在文档准备就绪之前运行JavaScript"。然后答案是肯定的。当遇到JavaScript时,它将被执行。
这就是为什么你几乎总是会看到$(function(){...})
或者 $(document).ready(function(){...})
,因为大多数jQuery代码需要文档准备就绪,但是附加事件处理程序的代码确实在文档准备就绪之前执行(否则它将无法处理文档准备就绪事件)。
通常应该将Javascript包含文件放在HTML底部,但是如果想要早些时间执行它,可以将其放在文档中的较早位置,例如头部。
<html>
<head>
...
<script>
//place your code to be executed early here
</script>
</head>
...
</html>
<head>
<script src="jquery.js"></script>
<script>
// Do some stuff before the DOM is ready
</script>
</head>
<body>
<!-- Browser hasn't got this far, so no elements will be available -->
</body>
话虽如此,在现代浏览器中,您可以使用一种技术,使您能够在DOM元素插入页面时与其进行交互(而浏览器正在呈现它)。它依赖于CSS动画事件。我编写了一个简单的库(Progressive.js)来使这更容易处理。