-1

次のような JQuery プラグインを使用しています。

    /* Copyright (c) 2006-2007 Mathias Bank (http://www.mathias-bank.de)
 * Dual licensed under the MIT (http://www.opensource.org/licenses/mit-license.php) 
 * and GPL (http://www.opensource.org/licenses/gpl-license.php) licenses.
 * 
 * Version 2.1
 * 
 * Thanks to 
 * Hinnerk Ruemenapf - http://hinnerk.ruemenapf.de/ for bug reporting and fixing.
 * Tom Leonard for some improvements
 * 
 */
jQuery.fn.extend({
/**
* Returns get parameters.
*
* If the desired param does not exist, null will be returned
*
* To get the document params:
* @example value = $(document).getUrlParam("paramName");
* 
* To get the params of a html-attribut (uses src attribute)
* @example value = $('#imgLink').getUrlParam("paramName");
*/ 
 getUrlParam: function(strParamName){
      strParamName = escape(unescape(strParamName));

      var returnVal = new Array();
      var qString = null;

      if ($(this).attr("nodeName")=="#document") {
        //document-handler

        if (window.location.search.search(strParamName) > -1 ){

            qString = window.location.search.substr(1,window.location.search.length).split("&");
        }

      } else if ($(this).attr("src")!="undefined") {

        var strHref = $(this).attr("src")
        if ( strHref.indexOf("?") > -1 ){
            var strQueryString = strHref.substr(strHref.indexOf("?")+1);
            qString = strQueryString.split("&");
        }
      } else if ($(this).attr("href")!="undefined") {

        var strHref = $(this).attr("href")
        if ( strHref.indexOf("?") > -1 ){
            var strQueryString = strHref.substr(strHref.indexOf("?")+1);
            qString = strQueryString.split("&");
        }
      } else {
        return null;
      }


      if (qString==null) return null;


      for (var i=0;i<qString.length; i++){
            if (escape(unescape(qString[i].split("=")[0])) == strParamName){
                returnVal.push(qString[i].split("=")[1]);
            }

      }


      if (returnVal.length==0) return null;
      else if (returnVal.length==1) return returnVal[0];
      else return returnVal;
    }
});

私が抱えている問題は、次のエラーが発生することです。

Uncaught TypeError: Property '$' of object [object Object] is not a function 

これは、WordPress の「非競合」モードが原因であることはわかっていますが、これを解決するにはどうすればよいでしょうか? このコードはプラグインからのもので、編集することはできますが、プラグインのすべてを置き換える必要はありません$

この問題を解決するにはどうすればよいですか?

4

1 に答える 1

1

このように、匿名関数でプラグインをラップしてみてください。

(function($) {
   //Plugin code here
})(jQuery) 
于 2013-11-04T23:29:00.547 に答える