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

为什么$(document).ready(function()不工作,但是jQuery(document).ready(function($)工作?,jquery,Jquery,我一直在努力编写脚本,并收到以下错误: 控制台中的“TypeError:$不是函数” 这个问题在Firefox和IE中都存在 经过一番挠头之后,我改变了主意: $(document).ready(function() { 进入 jQuery(document).ready(function($){ 该功能开始工作 我一直在试图找出为什么这应该起作用,以及这两个函数前缀之间的差异,并且我已经设法收集到这与没有为jquery正确设置$有关(或者与此相关的内容) 我想知道是否有人可以,用外行的话,

我一直在努力编写脚本,并收到以下错误: 控制台中的“TypeError:$不是函数”

这个问题在Firefox和IE中都存在

经过一番挠头之后,我改变了主意:

$(document).ready(function() {
进入

jQuery(document).ready(function($){
该功能开始工作

我一直在试图找出为什么这应该起作用,以及这两个函数前缀之间的差异,并且我已经设法收集到这与没有为jquery正确设置$有关(或者与此相关的内容)

我想知道是否有人可以,用外行的话,向我解释为什么一种方法有效,而另一种方法无效,并阐明在jquery函数前面加前缀的最佳方法

非常感谢

编辑
为了进一步说明,我的项目基于Wordpress,并使用了几个“插件”。其中一个插件可能导致了问题并“重新定义了”$(根据到目前为止的答案/评论,我猜已经发生了)。我将根据这一新知识对此进行更深入的研究,并研究jquery.noConflict()函数查看如何在这种情况下实现此功能。感谢大家的帮助。

要了解
$
发生了什么,唯一的方法是打开开发控制台并键入
$
。然后调查API中的内容,找出它指向的库。默认情况下,jQuery使用
$
所以它一定在某个地方被覆盖。

您使用的是Jquery以外的JS框架吗?
$==Jquery
,所以我能看到这种情况的唯一方法是,如果您在Jquery之后包含了重新定义
$
的代码。您使用的是另一个也可以使用“$”的库吗作为函数的名称?是否有其他javascript库?可能与
$
-wrapper存在冲突。请提供页面中包含的脚本以扩展此答案:许多其他库也使用
$
,因此这种情况非常常见。事实上,jQuery甚至提供了一种方法,
jQuery.noConflict()
,故意重置
$
的值。你可能在某处调用它吗?@Elliot我刚刚搜索了一下,在我的项目中的几个地方找到了noConflict调用。这是一个Wordpress项目,因此它被用于3个不同的“插件”。我将搜索noConflict调用以了解更多信息。谢谢你的inf变形。