$()。ready()和$(document).ready()之间是否有区别?
我见过一些代码,他们只是这样做:
$().ready(function() { ... });
这比做文档选择器要短但是它是一样的吗?
轻微变化:
$(document).ready(function() {});
等于:
$(function() {});
从jQuery 1.4开始: $().ready(function() { });
在所有情况下都不再正常工作。 从发行说明:
从jQuery 1.4开始,如果你没有将参数传递给jQuery()方法,将返回一个空的jQuery集。 在以前的jQuery版本中,将返回包含文档节点的集合。
尼克和贾斯汀在这里得到了正确的答案,但既然我们正在谈论这个话题,我建议便携性永远不要在全球范围内使用$
。 有太多的库将它用于自己的目的,如果你需要将它们混合起来,你可能会遇到兼容性问题。 相反,您可以将可选的第一个参数用于jQuery ready处理程序:
jQuery(function($) { });
这将$
设置为该函数范围中对jQuery
的引用。
根据jQuery API文档 ,以下所有三种语法都是等效的:
-
$(document).ready(handler)
-
$().ready(handler)
(但不建议这样做) -
$(handler)
显然语法会起作用,但不是推荐的语法。
根据jQuery 1.4发行说明 :
在jQuery 1.3中,jQuery()返回了一个只包含文档的jQuery集。 在jQuery 1.4中,它返回一个空的jQuery集。 这对于创建空集并动态添加元素非常有用。 注意:jQuery()。ready()技术仍然适用于1.4,但已被弃用。 请使用jQuery(document).ready()或jQuery(function(){})。