【发布时间】:2010-03-05 02:35:51
【问题描述】:
我见过一些他们只是这样做的代码:
$().ready(function()
{
...
});
这比做一个文档选择器要短,但它是一样的吗?
【问题讨论】:
-
你真的应该阅读this question
标签: jquery
我见过一些他们只是这样做的代码:
$().ready(function()
{
...
});
这比做一个文档选择器要短,但它是一样的吗?
【问题讨论】:
标签: jquery
轻微变化:
$(document).ready(function() {});
等于:
$(function() {});
从 jQuery 1.4 开始:$().ready(function() { }); 不再在所有情况下都正确。来自发行说明:
从 jQuery 1.4 开始,如果您不向 jQuery() 方法传递任何参数,则将返回一个空的 jQuery 集。在以前的 jQuery 版本中,将返回一个包含文档节点的集合。
【讨论】:
$(fn)are deprecated之外的所有形式都准备好了。
Nick 和 Justin 在这里得到了正确的答案,但由于我们正在讨论这个主题,因此我建议不要在全局范围内使用 $ 以确保可移植性。太多的库将它用于自己的目的,如果您需要将它们混合在一起,您可能会遇到兼容性问题。相反,您可以对 jQuery 就绪处理程序使用可选的第一个参数:
jQuery(function($) {
});
这会将$ 设置为该函数范围内对jQuery 的引用。
【讨论】:
$ 引用在本地范围内。
$( 和 $. 的查找/替换,我之前不得不取消 jQuery 的范围,并且 Ctrl+Shift+H 能够在大约 20 秒内处理它。 +1,在插件内部和所有这一切都特别重要。
根据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(){})。
【讨论】: