jquery准备方法

时间:2012-03-11 21:50:57

标签: jquery dom document-ready

以下jquery片段说等到文档准备好了。

$(document).ready(function() {  
     // my code
});

可以传递给$()的其他对象代替文档参数。

3 个答案:

答案 0 :(得分:6)

根据docs

.ready()方法只能在匹配当前文档的 >

的jQuery对象上调用

但我的Fiddle表明这不是真的!!!

<强> HTML:

<div id="gdoron">
    <input value='aaa' />
</div>​

<强> JavaScript的:

$('#gdoron').ready(function() {
    alert($('#gdoron').html()); // alerts: "<input value='aaa' />"
});​

alert($('#gdoron').html()); // alerts: "null"

也许文档的意思是处理程序中的this将是document对象而不是与选择器对应的元素?(这是真的......)

触发readyList处理程序的代码:

readyList.fireWith( document, [ jQuery ] );

无论如何为什么不使用document对象?这是唯一始终定义的DOM对象,而不是像body等'。


以下所有三种语法都是等效的:

  • $(document).ready(handler)
  • $().ready(handler)(不建议这样做)
  • $(handler)

答案 1 :(得分:1)

关于ready的jQuerys文档说:

  

.ready()方法只能在与当前文档匹配的jQuery对象上调用,因此可以省略选择器。

大多数人都在使用:

$(function(){});

它更短,更少混淆;)

答案 2 :(得分:1)

.ready()方法只能在与当前文档匹配的jQuery对象上调用