771

このコードがスローする理由

Uncaught ReferenceError: $ が定義されていません

以前はいつ大丈夫でしたか?

$(document).ready(function() {
    $('#tabs > ul').tabs({ fx: { opacity: 'toggle' } });
    $('#featuredvid > ul').tabs();
});

タブの結果が閉じなくなりました。

jQuery はヘッダーで参照されます。

<script language="JavaScript" type="text/javascript" src="<?php echo get_option('siteurl') ?>/js/sprinkle.js"></script>
<script language="JavaScript" type="text/javascript" src="<?php echo get_option('siteurl') ?>/js/jquery-1.2.6.min.js"></script>
<script language="JavaScript" type="text/javascript" src="<?php echo get_option('siteurl') ?>/js/jquery-ui-personalized-1.5.2.packed.js"></script>
4

40 に答える 40

762

jquery スクリプトへの参照を最初に配置する必要があります。

<script language="JavaScript" type="text/javascript" src="/js/jquery-1.2.6.min.js"></script>
<script language="JavaScript" type="text/javascript" src="/js/jquery-ui-personalized-1.5.2.packed.js"></script>
<script language="JavaScript" type="text/javascript" src="/js/sprinkle.js"></script>
于 2010-01-15T23:08:06.027 に答える
278

jQuery JavaScript が含まれる前に ready 関数を呼び出しています。最初に jQuery を参照します。

于 2010-01-15T23:07:10.803 に答える
153

これが私にとってそれを解決したものです。もともと私はGoogleに行き、CDNページにjQueryの提案されたスニペットをコピーして貼り付けました:

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>

スニペットには属性にHTTP:orが含まれていませんが、私のブラウザー、FireFox はそれを必要としていたので、次のように変更しました: 編集: これは Google Chrome でも同様に機能しましたHTTPS:src

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

その後、うまくいきました。

于 2013-03-17T17:50:14.697 に答える
45

jQuery プラグインがブラウザに読み込まれる前にカスタム スクリプトが読み込まれると、この種の問題が発生する可能性があります。したがって、jQuery プラグインを呼び出した後は、常に独自の JavaScript または jQuery コードを保持してください。これに対する解決策は次のとおりです。

最初に、GoogleApis でホストされている jQuery ファイルへのリンク、またはhttp://jquery.com/download/からダウンロードしてサーバーでホストするローカル jQuery ファイルへのリンクを追加します。

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>

またはjQueryのプラグイン。次に、カスタム スクリプト ファイルのリンクまたはコードを入力します。

<script src="js/custom.js" type="text/javascript"></script>
于 2014-01-24T11:46:38.280 に答える
29

さて、私の問題は異なっていました - それはChromeのDocument Securityモデルでした。

$(document).ready()ここの回答を見ると、 etc. 関数を呼び出す前に jquery ファイルをロードしていないことが明らかになりました。しかし、それらはすべて正しい位置にありました。

私の場合、これは安全な HTTPS 接続を介してコンテンツにアクセスしていたのに対し、ページは Google などから CDN がホストするデータをダウンロードしようとしていたためです。解決策は、それらをローカルに保存してから、毎回CDN。

編集: これを行うもう 1 つの方法は、CDN でホストされているすべてのものに http:// ではなく https:// としてリンクすることです。この場合、モデルは文句を言いません。

于 2013-02-19T07:46:20.430 に答える
19

私はまったく同じ問題を抱えていましたが、上記の解決策はどれも役に立ちませんでした。ただし、ファイルの.css後に.jsファイルをリンクしただけで、問題は奇跡的に解消されました。お役に立てれば。

于 2011-01-19T12:55:37.453 に答える
19

それがワードプレスにある場合、変更が必要になる可能性があります

$(document).ready(function() {

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

または追加

var $ = jQuery;

$(document).ready(function() {
于 2015-07-09T08:27:46.767 に答える
6

私の場合はタイプミスでした。バックスラッシュを忘れて、ソースを間違って参照していました。

src="/scripts/jquery.js"

後    src="scripts/jquery.js"

于 2011-04-17T05:28:13.167 に答える
6

これを .Net で実行していて、スクリプト ファイルが適切に参照されていて、jQuery に問題がないように見える場合は、ユーザーがスクリプト ファイルにアクセスできることを確認してください。私が取り組んでいたプロジェクト (同僚) の web.config は、匿名ユーザーへのアクセスを拒否していました。私が取り組んでいたページは匿名ユーザーがアクセスできるため、スクリプト ファイルにアクセスできませんでした。以下をweb.configにドロップすると、すべてがうまくいきました:

  <location path="Scripts">
    <system.web>
      <authorization>
        <allow users="*"/>
      </authorization>
    </system.web>
  </location>
于 2013-06-26T18:10:03.983 に答える
5

ソースファイルjquery-1.2.6.min.jsは呼び出されません。jQueryコマンド$()は。より前に実行され<..src='jquery-1.2.6.min.js'>ます。

<.. src="/js/jquery-1.2.6.min.js..">最初に実行してsrcパスが正しいことを確認してから、jqueryコマンドを実行してください

$(document).ready(function() 
于 2012-08-21T12:05:14.353 に答える
5

同様の問題がありました。私のテストサーバーは「http」で正常に動作していました。ただし、SSLを使用した本番環境では失敗しました。

したがって、本番では「HTTP」の代わりに「HTTPS」を追加し、テストでは「HTTP」のままにしました。

テスト:

wp_register_script( 'jquery', 'http://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js', array(), null, false );

wp_register_script( 'custom-script', plugins_url( '/js/custom.js', __FILE__ ), array( 'jquery' ) );

製造:

wp_register_script( 'jquery', 'https://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js', array(), null, false );

wp_register_script( 'custom-script', plugins_url( '/js/custom.js', __FILE__ ), array( 'jquery' ) );

wordpressをやっている方の参考になれば幸いです。

于 2015-04-10T01:56:39.243 に答える
4

次の 2 つのシナリオでもエラーが発生します。

  1. @section スクリプト要素が HTML ファイルにありません
  2. DOM 要素へのアクセス中にエラーが発生しました。たとえば、DOM 要素へのアクセスは、$(".js-toggle") ではなく $("js-toggle") として記述されます。実はピリオドが抜けている

従うべき 3 つのこと - 必要なスクリプトが追加されていることを確認し、必要な順序で追加されているかどうかを確認し、Java Script の 3 番目の構文エラーを確認します。

于 2016-07-13T06:53:11.253 に答える
4

私の場合、これを含めるのを忘れていました:

 <script src ="jquery-2.1.1.js"></script>

以前、このエラーの原因となった jquery-mobile だけを含めていました。

于 2014-06-21T14:12:11.017 に答える
4

JavaScript ファイルが見つからないため、このエラーが発生しました。<head>タグ内に JavaScript ファイルを追加するだけです。例を参照してください。

<script src="js/sample.js" type="text/javascript"></script>
<link href="css/sample.css" rel="stylesheet" type="text/css" />

または、次のコードを tag に追加します。

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
于 2013-05-14T11:16:00.117 に答える
3

どっ!タグに引用符が混在していたため、jquery 参照が壊れていました。Chrome で検査を行うと、ファイルが適切にリンクされていないことがわかりました。

于 2012-06-25T17:36:45.493 に答える
1

これは、ネットワークに問題がある場合にも発生する可能性があります。つまり、「jquery スクリプト」が配置されていて、使用前に含まれていても、ページの読み込み時には jquery スクリプトにアクセスできないため、「$」への定義は次のように扱われます。 「未定義の参照」。

テスト/デバッグ目的のため ::ブラウザで「jquery-script」の URL にアクセスしてみてください。アクセスできる場合、ページは適切に読み込まれます。そうでない場合は、前述のエラー (またはその他のスクリプト関連のエラー) が表示されます。例 -ブラウザー (またはブラウザー コンテキスト スタンス) でhttp://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.jsにアクセスできる必要があります。

同様の問題があり、windows-host-browser で (スクリプトを使用して) html ページを読み込むことはできましたが、vm-ubuntu では読み込むことができませんでした。ネットワークの問題を解決し、問題を解決しました。

于 2016-04-05T14:03:07.723 に答える
1

奇妙なことに、私の問題は PHP から来ていました。

REST API 呼び出しが失敗し、その後ライブラリの読み込みが中断されていました。失敗は REST 呼び出しによるものだったので、php コンパイル エラーは発生しませんでした。

jquery のロードに問題がないように思われる場合は、これもオプションとして保持してください。

于 2014-03-11T12:30:53.770 に答える
0

さまざまな Web ソケット サンプルを実行しようとしたときに、この問題が発生しました。

ブラウザで「http://localhost:8080/ 」を指すと、このエラーが発生しましたが、「 http://localhost:8080/index.html」を正確に指してもエラーは発生しませんでした。 - $.. を使用する前に jquery が含まれていました。

どういうわけか index.html への自動転送が完全に機能しない

于 2019-12-02T19:15:51.057 に答える