如果jQuery脚本在所有页面HTML之后加载,它们仍然需要$(document).ready吗?

如果我在我的所有页面HTML下面加载我的jQuery脚本,我还需要等待$(document).ready才能使用jQuery来查找页面中的元素吗?

不,因为文档已经加载了。 Dom从上到下加载。 我个人喜欢把我所有的j放在页面底部而不是头部。

但它只有一行代码,我建议使用它只是为了安全。 你也可以做得更短。 $(function() {}$(document).ready(function(){})

如果脚本放在这些元素下面,那么对于与页面上的DOM元素交互的任何代码,您都不需要$(document).ready

将它们放在结束标记之前是一种很好的做法。

您不需要使用jQuery的ready函数,但是您的代码必须记住这一点。 任何click或其他基于绑定的处理程序可能无法正确附加到选择器,但是,其他像live$.ajax可能会按预期运行。

使用脚本加载器或使用此方法的AMD时要小心。 jQuery 必须可用,你必须在加载时阻止。 在头部加载jQuery和其他deps。

很好地了解这种技术,它描述了使用jQuery不必使用它(不一定是在页脚中使用):

http://encosia.com/dont-let-jquerys-document-ready-slow-you-down/