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