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