在这个问题中,我可能展示了我对jQuery所知甚少:
我今天正在编写一些jQuery (1.4.4)代码,这些代码(我以为)就像我以前编写的其他代码一样。在它中,我给$.ajax(arguments)打了电话,它立即产生了错误
未登录的
TypeError:无法调用方法ajaxofundefined
当我改变给jQuery.ajax(arguments)的电话时,一切都很好。除.ajax()外,其他方法也受到同样的影响。
怎么了--我以为这两个符号是等价的?我显然做错了/愚蠢/无知的事情,但我只是不明白。肯定有人能澄清这件事吗?谢谢!
发布于 2011-04-08 04:54:43
您还在使用其他JS库吗?比如原型?
使用jQuery快捷方式运行$代码的最安全方法如下
jQuery(function($){
// jQuery code here using $
});这相当于
jQuery(document).ready(function($){
// jQuery code here using $
});编辑:在文档就绪上下文之外运行代码的,请参见亚历克斯的回答。
发布于 2011-04-08 04:54:10
可能是“$”已被其他代码用作变量或函数。原型库也使用“$”。
发布于 2011-04-08 04:56:58
还有其他建议,您可以将代码包装在这样的结构中.
(function($) {
// $ will point to jQuery here, guaranteed.
})(jQuery);这个函数自调用(定义一个匿名函数,然后用()调用它),其中jQuery成为匿名函数的第一个参数,即$。这是个很方便的把戏。
https://stackoverflow.com/questions/5590595
复制相似问题