TypeError:'undefined'不是函数(评估'$(document)')

dco*_*bus 138 wordpress jquery

  1. 我正在使用WordPress网站.
  2. 我在头文件中包含了这个脚本.

加载脚本时,我收到此错误:

TypeError:'undefined'不是函数(评估'$(document)')

我不知道是什么导致了它或它甚至意味着什么.

在萤火虫中,我得到了这个:

$不是一个功能

El *_*obo 239

默认情况下,Wordpress在noConflict模式下使用jQuery .您需要使用jQuery变量名称来引用它,而不是$使用

jQuery(document);
Run Code Online (Sandbox Code Playgroud)

代替

$(document);
Run Code Online (Sandbox Code Playgroud)

您可以轻松地将其包装在自执行函数中,以便$再次引用jQuery(并避免污染全局命名空间),例如

(function ($) {
   $(document);
}(jQuery));
Run Code Online (Sandbox Code Playgroud)

  • 脚本不是必需的; 你可以在任何你想要的地方调用`jQuery(document)`而不是`$(document)`.如果你确实想要使用`$`,那么上面的脚本只是创建一个函数,它接受一个参数`$`然后执行它传递`jQuery`; 简而言之,在函数中,`$`指向jQuery就像你期望的那样. (5认同)
  • 实际上,我所做的是放置我的普通`$(document).ready(function(){// code});`代替你的`$(document);`......就像魅​​力一样. (2认同)

小智 25

使用jQuery noConflict.它给我带来了奇迹

var example=jQuery.noConflict();
example(function(){
example('div#rift_connect').click(function(){
    example('span#resultado').text("Hello, dude!");
    });
});
Run Code Online (Sandbox Code Playgroud)

也就是说,假设您在HTML上包含了jQuery

<script language="javascript" type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
Run Code Online (Sandbox Code Playgroud)


Sum*_*was 15

用这个:

var $ =jQuery.noConflict();
Run Code Online (Sandbox Code Playgroud)


小智 11

试试这个片段:

jQuery(function($) {
  // Your code.
})
Run Code Online (Sandbox Code Playgroud)

它对我有用,也许它也会帮助你.


小智 11

我只在Chrome上遇到此问题.

我尝试添加

var $ =jQuery.noConflict();
Run Code Online (Sandbox Code Playgroud)

就在打电话之前

$(document).ready(function () {
Run Code Online (Sandbox Code Playgroud)

有效.

非常感谢


agr*_*ath 6

还要检查是否包含jQuery,然后是一些组件/其他库(如jQuery UI),然后再次意外地包含jQuery - 这将重新定义jQuery并将组件助手(如.datepicker)从实例中删除.


JoT*_*JoT 5

我会用这个

(function ($) {
   $(document);
}(jQuery));
Run Code Online (Sandbox Code Playgroud)