0

$(function(){})和 jquery 的一样,$(document).ready所以我想知道是否可以将它放入 body 而不是 head ?我只看到将脚本放在页面的不同部分的行为是在不同的时间执行它。是真的?我可以将脚本放在页面中间的 div 中吗?它会影响 DOM 的加载方式吗?

4

3 回答 3

3

我只看到将脚本放在页面的不同部分的行为是在不同的时间执行它。是真的?

是的,但是您正在谈论的脚本只进行了一次函数调用(to ready)。无论哪种方式,当 DOM 准备好时,稍后都会调用回调。

我可以将脚本放在页面中间的 div 中吗?

是的。但同样,如果有问题的脚本只是调用ready(直接或通过快捷方式),那也没关系。我会劝阻你不要在你的标记中乱扔脚本;最好尽量保持两者在很大程度上分开。

它会影响 DOM 的加载方式吗?

仅当您document.write在脚本中使用时(即使那样,它也不会影响 DOM 的加载方式,但可能会影响它的内容)。


如果您可以选择script标记的位置(例如,您不是在编写 JavaScript 库或 jQuery 插件,您的脚本在您控制的页面上),那么几乎没有理由使用ready. 相反,请将您的脚本标签放在页面末尾,就在结束</body>标签之前。参考:

于 2013-02-03T07:28:58.333 回答
2

的目的document.ready是等到 DOM 准备好,如果您将脚本放在正文结束标记之前或正在修改的 html 之后,那么您不需要,document.ready尽管它仍然可以工作。

于 2013-02-03T07:25:20.043 回答
0

这会起作用,但这是不好的做法。如果可以的话,您应该将脚本放在网页的末尾而不是头部。当然,除非您有需要首先加载的内容(例如文档就绪功能)。

于 2013-02-03T07:27:16.970 回答