我对创建新 jQuery 对象的所有不同方法有点困惑。
相关文档似乎是: http://api.jquery.com/ready/ http://api.jquery.com/jQuery/
从这两个文档中,以下内容都是等效的(除了别名或不别名“$”之外):
- $(文档).ready(处理程序)
- $().ready(处理程序)
- $(处理程序)
- jQuery(函数($) {});
- jQuery(文档).ready(function($) {});
这是正确的吗?我错过了什么吗?
最佳答案
这些在某种程度上是等效的:
-
$(document).ready(handler)
- 调整handler
当 DOM 加载时 -
$().ready(handler)
- 运行handler
当 DOM 加载时(已弃用,不要使用) -
$(handler)
- 运行handler
然后加载 DOM -$(document).ready(handler)
的快捷方式 -
jQuery(function($) {})
与上面的 #3 相同,只是使用jQuery
而不是$
别名 -
jQuery(document).ready(function($) {})
- 与第一个相同,再次使用jQuery
而不是$
别名
如果$
被定义为其他东西,例如原型(prototype),那么前3个就不行了。最后两个是类似的,它们只是接受传入的第一个参数(jQuery
对象)并将其设为$
即使在 $
的情况下也可以执行此操作是别的东西:
jQuery(function($) {
$("input").val("something");
});
关于jQuery 就绪函数别名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4139803/