问题描述
-
我正在使用 WordPress 网站。
-
我将此脚本包含在标题中。
当脚本加载时,我得到这个错误:
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 辅助翻译的英文资料结果。如果您对结果不满意,可以加入我们改善翻译效果:薇晓朵技术论坛。