jquery(selector,...)重载等待dom完成加载?

时间:2013-10-15 20:56:28

标签: dom jquery

jquery(callback)文档清楚地声明它在运行函数之前等待DOM完成加载。 [参考:http://api.jquery.com/jQuery/#jQuery3]

另一方面,jquery(selector, ...)文档似乎不清楚DOM是否会在选择器运行时完成加载。

所以,这是一个真正的问题:请有人告诉我是否真的需要将我的所有选择器嵌套在jquery(回调)中,就像我目前正在做的那样?

jquery(function() { jquery(selector).dostuff(); })

(或$(function() { $(selector).dostuff(); })相同)

4 个答案:

答案 0 :(得分:4)

jQuery(callback)重载是jQuery(document).ready(callback)的简写,因此在解析文档时它将在回调函数中运行代码。

jQuery(selector, ...)不是任何事件绑定的简写,它将在代码运行时返回选择器匹配的元素。


不使用回调的方法实际上无法等到文档被解析之后。如果该方法只是等待文档完成,那将永远不会发生。当Javascript代码正在运行时,浏览器不会继续解析文档。

答案 1 :(得分:3)

不,jQuery(selector)不等待DOM完成加载。 jQuery(callback)只是jQuery(document).ready(callback)的简写,ready事件代表正在加载的DOM。

答案 2 :(得分:0)

只有在代码运行时需要当前页面(在DOM中)时才能包装代码。

答案 3 :(得分:0)

它在jQuery文档中说回调函数等待DOM加载,当你选择一个元素时,你没有回调函数。

这有一个回调函数。

jQuery(function() {

});

这不是

jQuery('#element');