TypeError:在调用jQuery函数时$不是函数

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (67)

我在WordPress插件中有一个简单的jQuery脚本,它使用jQuery包装器,如下所示:

$(document).ready(function(){

    // jQuery code is in here

});

我从WordPress仪表板中调用这个脚本,并在jQuery框架加载之后加载它。

当我在Firebug中检查页面时,我经常收到错误消息:

TypeError:$不是一个函数 $(文件)。就绪(函数(){

我是否应该将脚本包装在这个函数中:

(function($){

    // jQuery code is in here

})(jQuery);
提问于
用户回答回答于

默认情况下,当在Wordpress中登记jQuery时,必须使用jQuery,和$不使用(这是为了与其他库兼容)。

你的解决方案function将运行良好,或者您可以以其他方式加载jQuery(但这在Wordpress中可能不是一个好主意)。

如果你必须使用document.ready,你实际上可以通过$进入函数调用:

jQuery(function ($) { ...
用户回答回答于

这应能解决以下问题:

jQuery(document).ready(function($){
  //you can now use $ as your jQuery object.
  var body = $( 'body' );
});

简单地说,WordPress在您可以运行自己的脚本之前,就会发布$这样它就不会与其他库发生冲突。这是完全有意义的,因为WordPress用于各种网站、应用程序,当然还有博客。

从他们的文件中:

WordPress中包含的jQuery库设置为noConflict()模式(请参见wp-include/jQuery/jquery.js)。这是为了防止与WordPress可以链接的其他JavaScript库的兼容性问题。 在noConflict()模式中,jQuery的全局$快捷方式不可用...

扫码关注云+社区