为什么jQuery有时需要$(document).ready?

时间:2014-10-19 22:29:51

标签: jquery document-ready

我理解$(document).ready的前提 - 在外行人的术语中,等到文档对象模块在执行此脚本之前完全就绪 - 但我不明白为什么所有的jQuery代码只有在文档准备就绪时才能运行。

在文档处理完成之前是否需要设置一些功能?当编写jQuery时,它只是原始结构中的一个异常问题。

如果有人对此有一个好的答案,它将有助于我理解以及将来对许多其他jQuery用户的理解。

1 个答案:

答案 0 :(得分:2)

如果文档准备好后所有jQuery代码都会运行,那么它必须排队所有的调用。这将使就绪事件之前的每次调用都异步,这会使一切变得更复杂。

示例:

var prefix = "A:";
$('.colA').text(function(i, t){ return prefix + t; });
prefix = "B:";
$('.colB').text(function(i, t){ return prefix + t; });

这会将带有A:class="colA"的元素文本的前缀B:添加到class="colB"元素的文本中。

如果调用是异步的,它会向所有元素添加B:,因为两个赋值都将在任何jQuery代码之前运行。