2012-09-04 29 views
27

私は私が購入を持っているテーマで.js文書に誤りがある可能性があります:「

$('.tagcloud a').wrap('<span class="st_tag" />'); 

私はそれを解決しようとしていますが、私はドンので、私はプログラマではありませんよ方法を知っている。 サイトはhttp://www.framerental.comです。

+0

あなたがテーマを支払っていて、あなたのサイトに他の多くのカスタム設定を行っていない場合は(あなたがl)私は彼らのサポートに連絡する – TommyBs

答えて

-3

jQueryが存在しない可能性があります。

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.0/jquery.min.js"></script>

+0

それは可能ですが、wordpressとCMSのほとんどの$はデフォルトで設定されていません。 –

0

あなたはjQueryのが含まれている場合は、競合がある可能性があります。 $の代わりにjQueryを使用してください。

90

使用する場合jQuery.noConflict();したがって$は未定義です。あなたはjQueryのツールキット/ libに

jQuery(document).ready(function($) { 
    // Code that uses jQuery's $ can follow here. 
}); 
+0

ok!今では何かが働いていますが、他のエラーが表示されます:Referenceerror resizaウィンドウが定義されていません。線:jQuery(ウィンドウ).bind( "resize"、resizeWindow); 関数resizeWindow(e){ var newWindowWidth = jQuery(window).width(); – user1645326

+0

バインド式の前に関数を定義しようとします。 – jurka

+0

テーマの古い「エンキューされた」jQueryをコメントアウトした後、これは古いWPテーマのすべてのエラーを修正しました。率直に言えば、私は "wp_enqueue_script"システムが本当に面倒で、工夫されて、複雑すぎるし、不必要であることがわかります。私はWordPressが管理パネル用のjsコードを隠したりコンパートメント化したり、jQueryをどのように使用するかを私たちが利用できるようにしたいと考えています。 「wp_enqueue_script」はGoogle PageSpeed Insightテストに合格しますか?おそらくそうではありません。どちらの場合でも、単純にすべてのWPプラグインとテーマで同じjQueryを使用する必要があります。誰もが同じページにいれば、一緒に進むことができます。 –

9

のどちらかを含めていない。

あなたはこの方法であなたのコードを変更するには、ここdocs

てみてくださいそれについての詳細を読むことができます(レディ機能へ$記号を追加)いくつか提案しているように、あるいは種類の衝突があります。テストするには:次のようにjQueryとテストが含まれます:

console.log($); 
console.log($ === jQuery); 

$が未定義でない場合、および$ === jQueryログ偽、あなたは間違いなくあなたの手の競合を持っています。 $jQueryに置き換えると、それは解決しますが、それはかなり面倒なことになります(余分な入力はすべて...)。一般的には、少なくとも$jq = _$ = jQuery;でスクリプトを開始し、少なくともjQueryオブジェクトへの参照を短くします。もちろん
、あなたは、あなたが誤って、あらかじめ設定されている変数を上書きしていないかどうかを確認することを行う前に:console.log($jq, _jQ, _$);undefinedが放っておかれるべきでない方はもちろんのを

+0

エリアスは答えを持っているようですが、私がプログラマーでない限り、私はあなたがchinesseで話しているように感じています。私のための簡単な解決策はありますか?私は完全に失われています:-( – user1645326

+0

@ user1645326:はい、あります。jurkaさんの回答の下にあなたのコメントは、あなたがラッパー 'jQuery(document).ready(function($){ '関数であり、' resizeWindow'は 'jQuery(window).with();ではなく、' $(this).width(); 'から' with 'を取得しますが、 'resiza window'のコードを検索し、' resizeWindow'に置き換えてください... –

23

機能エラーが共通のものですほぼすべてのコンテンツ管理システムで、これにアプローチする方法はいくつかあります。

  1. は使用してコードをラップ:

    <script> 
    jQuery.noConflict(); 
        (function($) { 
         $(function() { 
          // YOUR CODE HERE 
         }); 
        }); 
    </script> 
    

    <script> 
    jQuery(function($) { 
    
    YOUR CODE GOES HERE 
    
    }); 
    </script> 
    
  2. はまたnoConflict();

    <script> 
    $.noConflict(); 
    jQuery(document).ready(function($) { 
    // Code that uses jQuery's $ can follow here. 
    }); 
    // Code that uses other library's $ can follow here. 
    </script> 
    
  3. 準備文書を使用せずにnoConflictを使用してのもう一つの例を使用してjQueryのAPIを使用することができます

  4. あなたも、そうのような競合を避けるために、あなたの非常にエイリアスを作成することを選択することができる:

    $("div p").hide();jQuery("div p").hide();

  5. へ:

    var jExample = jQuery.noConflict(); 
    // Do something with jQuery 
    jExample("div p").hide(); 
    
  6. さらに別の長いソリューションは、jQueryのに$のすべてreferancesの名前を変更することです

6

<script> 
var $ = jQuery.noConflict(); 
</script> 

をheader.phpのheadタグに追加します。または、管理領域(またはheader.phpが使用されていないどこか)でドル記号を使用する場合は、その場所を使用したい場所の直前に置いてください。

(そこに、私は認識していないよ、いくつかの競合もそれをテストし、存在する場合、ここでのリンク怒鳴るで提供される他のソリューションを使用することがあります。)

出典:代わりにhttp://www.wpdevsolutions.com/use-the-dollar-sign-in-wordpress-instead-of-jquery/

+0

これはフッターに独自のカスタムテーマスクリプトをエンキューする場合に機能します – Turbojohan

9

これを行う:

$(document).ready(function() { }); 

あなたはこのやるべきこと:

jQuery(document).ready(function($) { 

    // your code goes here 

}); 

これは、WordPressが将来jQuery以外のものに$を使用する可能性があり、$がjQueryドキュメント準備完了コールバックでのみ使用できるようにjQueryをロードする必要があるためです。

+0

これは素晴らしい動作ですdoc.ready内のもの。ボード全体(ウィンドウ機能)を必要とする場合は、Savageの答えを上記のように表示してください。 – cbloss793

4

私はheadセクションの最後にロードされたカスタムスクリプトファイルを追加し、トップで次のように挿入:

(function (jQuery) { 
    window.$ = jQuery.noConflict(); 
})(jQuery); 

(これはFankyの答えの変形例である)

以外
2

noConflict、これも参考になります:

(function($) { 
    // Variables and DOM Caching using $. 
    var body = $('body'); 
    console.log(body); 
})(jQuery); 
+0

これは素晴らしいです! – Andy

関連する問題