1

重複の可能性:
jQuery のドル記号が定義されていません

なぜTypeError: $ is undefinedエラーが発生するのかを知りたいのですが、代替手段は問題を解決するjQueryを使用することであり、正しいjQueryプラグインを使用した後でも$が定義されていないのはなぜですか。

これに関する説明を教えてください。使用する代替手段と、その代替手段が機能する理由を知っています。誰でも説明してください。

4

4 に答える 4

7

を呼び出すときに jQuery ライブラリを使用することが意図されている場合、$()$通常、ロード時に jQuery ライブラリによって定義される関数です。使用しようとしたときにそのシンボルが定義されていない場合は、次の可能性があります。

  1. このエラーが発生しているページに jQuery ライブラリが読み込まれていません。
  2. jQuery が読み込まれる前に関数を参照しようとしてい$ます。この場合、jQuery ライブラリをページの前の方に移動するか、問題のあるコードを jQuery が読み込まれる場所の後に移動する必要があります。
  3. 一部の jQuery コードが呼び出されjQuery.noConflict()たため、$シンボルが未定義になりました。この場合、jQuery()の代わりに を使用すると機能し$()ます。
于 2013-01-16T05:10:59.480 に答える
2

$ は、jQuery オブジェクトを指す単なる変数です。あなたのjQueryライブラリにはそれが定義されていません。オブジェクトまたは関数を指すように変更できます。次の例では$、 function を指摘しますmyfun

$ = myfun;

function myfun()
{
 alert("myfun");
}

$();

ライブデモ

多くの JavaScript ライブラリは、jQuery と同様に $ を関数または変数名として使用します。jQuery の場合、$ は単なる jQuery のエイリアスであるため、すべての機能は $ を使用しなくても利用できます。jQuery と一緒に別の JavaScript ライブラリを使用する必要がある場合は、$.noConflict()を呼び出して、$ の制御を他のライブラリに戻します。$ の古い参照は、jQuery の初期化中に保存されます。noConflict() は単にそれらを復元します。

于 2013-01-16T05:03:02.037 に答える
0

あなたができることは次のとおりです。

  • $jQueryで置き換えるか、を変数にscript which causing the error定義して、これの代わりに使用します。$

つまり、次のいずれかです。

 jQuery(document).ready(function(){
  jQuery('selector').click(function(){
     jQuery('other_selector').hide();
  });
});

またはこの方法:

var jQ = $;

jQ(document).ready(function(){
  jQ('selector').click(function(){
     jQ('other_selector').hide();
  });
});

または、もう 1 つの使用がありますjQuery.noConflict()

Try this and see if this helps.

于 2013-01-16T05:17:16.827 に答える
-1

ページにjqueryファイル(min.jsまたはjquery-latest.js)を含める必要があります

于 2013-01-16T05:06:23.063 に答える