jquery(callback)
文档清楚地声明它在运行函数之前等待DOM完成加载。 [参考:http://api.jquery.com/jQuery/#jQuery3]
另一方面,jquery(selector, ...)
文档似乎不清楚DOM是否会在选择器运行时完成加载。
所以,这是一个真正的问题:请有人告诉我是否真的需要将我的所有选择器嵌套在jquery(回调)中,就像我目前正在做的那样?
jquery(function() { jquery(selector).dostuff(); })
(或$(function() { $(selector).dostuff(); })
相同)
答案 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');