我在WordPress插件中有一个简单的jQuery脚本,它使用jQuery包装器,像这样:

$(document).ready(function(){

    // jQuery code is in here

});

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

当我在Firebug中检查页面时,我不断地收到错误消息:

$不是一个函数 $(文档)时函数(){

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

(function($){

    // jQuery code is in here

})(jQuery);

我有这个错误相当多次,我不知道如何处理它。

任何帮助都将不胜感激。


当前回答

用jQuery替换$ sign 是这样的:

jQuery(function(){
//your code here
});

其他回答

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

将它包装在函数中的解决方案可以很好地工作,或者您可以以其他方式加载jQuery(但在Wordpress中这可能不是一个好主意)。

如果你必须使用文件。准备好了,你可以将$传递到函数调用中:

jQuery(function ($) { ...

对我有用的方法。要导入的第一个库是查询库,然后调用jQuery.noConflict()方法。

<head>
 <script type="text/javascript" src="jquery.min.js"/>
 <script>
  var jq = jQuery.noConflict();
  jq(document).ready(function(){
  //.... your code here
    });
 </script>
(function( $ ) {
  "use strict";

  $(function() {

    //Your code here

  });

}(jQuery));

用jQuery替换$ sign 是这样的:

jQuery(function(){
//your code here
});

这个解决方案对我很有效

;(function($){
    // your code
})(jQuery);

将代码移动到闭包中,使用$而不是jQuery

我在https://magento.stackexchange.com/questions/33348/uncaught-typeerror-undefined-is-not-a-function-when-using-a-jquery-plugin-in-ma上找到了上面的解决方案

...在寻找太多之后