问题描述

  1. 我正在使用 WordPress 网站。

  2. 我将此脚本包含在标题中。

当脚本加载时,我得到这个错误:

TypeError: ‘undefined’ is not a function (evaluating ‘$(document)’)

我不知道是什么造成的,甚至是什么意思。

在 firebug,我得到这个:

$ is not a function

最佳解决方案

WordPress 默认使用 noConflict 模式中的 jQuery 。您需要使用 jQuery 作为变量名称引用,而不是 $。使用

jQuery(document);

代替

$(document);

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

(function ($) {
   $(document);
}(jQuery));

次佳解决方案

使用 jQuery 的 noConflict 。它对我来说是奇迹

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

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

<script language="javascript" type="text/javascript" src="https://googleajax.admincdn.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>

第三种解决方案

用这个:

var $ =jQuery.noConflict();

第四种方案

尝试此片段:

jQuery(function($) {
  // Your code.
})

它为我工作,也许它会帮助你。

第五种方案

我只在 Chrome 上出现这个问题。

我试过加入

var $ =jQuery.noConflict();

在打电话之前

$(document).ready(function () {

有效。

非常感谢

第六种方案

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

参考文献

注:本文内容整合自 Google/Baidu/Bing 辅助翻译的英文资料结果。如果您对结果不满意,可以加入我们改善翻译效果:薇晓朵技术论坛。