我理解$(document).ready
的前提 - 在外行人的术语中,等到文档对象模块在执行此脚本之前完全就绪 - 但我不明白为什么所有的jQuery代码只有在文档准备就绪时才能运行。
在文档处理完成之前是否需要设置一些功能?当编写jQuery时,它只是原始结构中的一个异常问题。
如果有人对此有一个好的答案,它将有助于我理解以及将来对许多其他jQuery用户的理解。
答案 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代码之前运行。