$(function(){})
与jquery的$(document).ready
相同,所以我想知道我是否可以将它放入体内
而不是头?
我只看到将脚本放在页面的不同部分的行为,作为在不同时间执行它的问题。是真的?我可以将脚本放在页面中间的div中吗?它会影响DOM的加载方式吗?
答案 0 :(得分:3)
我只看到将脚本放在页面的不同部分的行为,作为在不同时间执行它的问题。这是真的吗?
是的,但您正在谈论的脚本只进行一次函数调用(ready
)。无论如何,当DOM准备好时,回调将在稍后调用。
我可以将脚本放在页面中间的div中吗?
是。但同样,如果有问题的脚本只是调用ready
(直接或通过快捷方式),那就不重要了。我会阻止你在你的标记上乱扔乱码;最好尽量保持两者在很大程度上分开。
它会影响DOM的加载方式吗?
只有在脚本中使用document.write
时(即便如此,它不会影响DOM的加载方式,但可能会影响其内容)。
如果您可以选择script
标记的位置(例如,您没有编写JavaScript库或jQuery插件,您的脚本位于您控制的页面上),那么几乎没有任何理由可以使用ready
。而是将脚本标记放在页面的末尾,就在结束</body>
标记之前。参考文献:
答案 1 :(得分:2)
document.ready
的目的是等待DOM准备就绪,如果你将脚本放在正文结束标记之前,或者只是在正在修改的html之后,那么你不需要document.ready
虽然它应该仍然有用。
答案 2 :(得分:0)
这会有效,但这是不好的做法。如果可以的话,你应该把你的脚本放在网页的末尾而不是头脑中。除非你有一些东西(比如文档就绪功能),你需要先加载。