首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么我不能像jQuery ()那样调用$.whatever()?

为什么我不能像jQuery ()那样调用$.whatever()?
EN

Stack Overflow用户
提问于 2011-04-08 04:52:47
回答 4查看 1.7K关注 0票数 3

在这个问题中,我可能展示了我对jQuery所知甚少:

我今天正在编写一些jQuery (1.4.4)代码,这些代码(我以为)就像我以前编写的其他代码一样。在它中,我给$.ajax(arguments)打了电话,它立即产生了错误

未登录的TypeError:无法调用方法ajax of undefined

当我改变给jQuery.ajax(arguments)的电话时,一切都很好。除.ajax()外,其他方法也受到同样的影响。

怎么了--我以为这两个符号是等价的?我显然做错了/愚蠢/无知的事情,但我只是不明白。肯定有人能澄清这件事吗?谢谢!

EN

回答 4

Stack Overflow用户

发布于 2011-04-08 04:54:43

您还在使用其他JS库吗?比如原型?

使用jQuery快捷方式运行$代码的最安全方法如下

代码语言:javascript
复制
jQuery(function($){
    // jQuery code here using $
});

这相当于

代码语言:javascript
复制
jQuery(document).ready(function($){
    // jQuery code here using $
});

编辑:在文档就绪上下文之外运行代码的,请参见亚历克斯的回答

票数 5
EN

Stack Overflow用户

发布于 2011-04-08 04:54:10

可能是“$”已被其他代码用作变量或函数。原型库也使用“$”。

票数 4
EN

Stack Overflow用户

发布于 2011-04-08 04:56:58

还有其他建议,您可以将代码包装在这样的结构中.

代码语言:javascript
复制
(function($) {

   // $ will point to jQuery here, guaranteed.

})(jQuery);

这个函数自调用(定义一个匿名函数,然后用()调用它),其中jQuery成为匿名函数的第一个参数,即$。这是个很方便的把戏。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5590595

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档