2016-03-31 22 views
-1

私のWordPressサイト用のjQueryには関数があります。 main.jsとdocument.readyの上にあり、main.jsはjQueryのロード後にロードされています。

すべては、サイトの私の静的バージョンで動作し、それは動作しません私は、ワードプレス

機能で私のテーマでそれを実装しようとすると:

function toggleChevron(e) { 
    $(e.target) 
     .prev('.panel-heading') 
     .find("i.indicator") 
     .toggleClass('glyphicon-triangle-bottom glyphicon-triangle-left'); 
} 

$('#accordion').on('hidden.bs.collapse', toggleChevron); 
$('#accordion').on('shown.bs.collapse', toggleChevron); 

それは私に、このエラーが発生しますコンソール:

Uncaught TypeError: $ is not a function`

私は私が私のコンソールにはエラーが出るんjQuery$を交換しようとするが、それは動作しません。誰がここで何が起こっているのか知っていますか? ありがとうございます!

+0

をページ? jQueryがロードされた後に実行されますか? – YarGnawh

+0

IDが "accordion"の要素がDOM内にある前に '.on()'呼び出しを実行すると、エラーは発生しませんが、呼び出しは何も行いません。 – Pointy

+1

'jQuery'変数が機能しますが、' $ 'は他のプラグインがjQueryから' $ '参照を奪ったか、' $ .noConflict() 'をどこかで使用したことを意味します。いずれにしても、コード内のどこにあるかを見つけることはできません。 –

答えて

-1

あなたのウェブサイトがnoconflictモードでのjQueryを使用している場合は次の2つの選択肢持っている、あなたはスクリプトが正しい順序でロードされていることを確認してください:このコードがオンになっているところ

(function($) { 
    $(function() { 
    // Your code here 
    }); 
})(jQuery); 

それとも

jQuery(document).ready(function($) { 
    // Your code here 
});