为什么$(document).ready(function()不起作用但是jQuery(document).ready(function($)是?

时间:2014-01-25 13:46:43

标签: jquery

我一直在努力处理脚本并收到以下错误: " TypeError:$不是函数"在控制台中。

这个问题在Firefox和IE中都有发生。

经过大量的搔抓后我改变了:

$(document).ready(function() {

...成

jQuery(document).ready(function($){

并且该功能开始工作。

我一直在试图找出为什么这应该有用,这两个函数前缀之间的区别和我设法收集到这与$ not为jquery正确设置有关(或沿着这些方向的东西)。

我想知道是否有人可以用非专业术语向我解释为什么一种方法有效,而另一种方法无法解释为jquery函数添加前缀的最佳方法。

非常感谢。

修改的 为了进一步阐明,我的项目基于Wordpress并使用了几个插件'。其中一个可能导致问题并且重新定义了“问题”。 $(根据答案/评论到目前为止,我猜测已经发生了)。我将根据这些新知识深入研究这一点,并查看jquery.noConflict()函数,看看在这种情况下如何实现它可以提供帮助。谢谢大家的帮助。

1 个答案:

答案 0 :(得分:2)

了解$发生的事情的唯一方法是打开开发者控制台并输入$。然后调查API中的内容以找出它指向的库。 jQuery默认使用$,因此必须在某处覆盖。