web-dev-qa-db-ja.com

$(document).ready(function(){Uncaught ReferenceError:$ is not defined

こんにちは私はベローズコードを使用しているときに「Uncaught ReferenceError:$ is not defined」が発生しています

現在、ログに次のエラーが記録されています。フレームワークのサンプルを見てきましたが、エラーの場所を見つけることができないようです。 HTMLやjsを作成してから10年以上が経ちましたが、当時のことは非常に基本的なことでした。助けていただければ幸いです

<script type="text/javascript">
var sQuery = '<?php echo $sQuery; ?>';

$(document).ready(function(){
    if($('input[name=sPattern]').val() == sQuery) {
        $('input[name=sPattern]').css('color', 'gray');
    }
    $('input[name=sPattern]').click(function(){
        if($('input[name=sPattern]').val() == sQuery) {
            $('input[name=sPattern]').val('');
            $('input[name=sPattern]').css('color', '');
        }
    });
    $('input[name=sPattern]').blur(function(){
        if($('input[name=sPattern]').val() == '') {
            $('input[name=sPattern]').val(sQuery);
            $('input[name=sPattern]').css('color', 'gray');
        }
    });
    $('input[name=sPattern]').keypress(function(){
        $('input[name=sPattern]').css('background','');
    })
});
function doSearch() {
    if($('input[name=sPattern]').val() == sQuery){
        return false;
    }
    if($('input[name=sPattern]').val().length < 3) {
        $('input[name=sPattern]').css('background', '#FFC6C6');
        return false;
    }
    return true;
}
</script>

enter image description here

19

jquery をインポートしないようです。これらの$関数には、この非標準(ただし非常に便利な)ライブラリが付属しています。

チュートリアルを読んでください: http://docs.jquery.com/Tutorials:Getting_Started_with_jQuery ライブラリのインポート方法から始めます。

11
Denys Séguret

jQuery.noConflictおよびすべてを使用する必要はありません

代わりにこれを試してください:

// Replace line no. 87 (guessing from your chrome console) to the following

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

// All your code using $

});

それでもUncaught reference error: jQuery is not definedのように87行目でエラーが発生する場合は、jQueryファイルを使用する前にインクルードする必要があります。これについては、上記の回答を確認できます

9
Om Shankar

このコードを<head></head>タグに追加します。

<script type="text/javascript" src="http://code.jquery.com/jquery-1.10.0.min.js"></script>
7
tmwilliamlin

JQueryが含まれていることが確実な場合は、$jQueryに置き換えて再試行してください。

何かのようなもの

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

それでもエラーが発生する場合は、jQueryを含めていません。

3
kiranvj

私はこれが古い質問であることを知っています、そして、ほとんどの人々は良い答えで答えました。しかし、参考のために、できれば他の人の時間を節約してください。あなたの機能:

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

after JQueryライブラリをロードしました

2
Raul Reyes

上記の他の多くの人があなたの質問に答えました。この問題は、スクリプトがjQueryスクリプトを見つけられず、他のフレームワークまたはcmsを使用している場合、jQueryと他のライブラリの間に競合がある可能性があるときに発生します。私の場合、私は次のように使用しました-`

<script src="js_directory/jquery.1.7.min.js"></script>
    <script>
    jQuery.noConflict();
    jQuery(document).ready(
    function($){
    //your other code here
    });</script>

`

構文エラーの可能性があります。携帯電話から書いているので許してください。ありがとう

1
maksbd19

最初にjqueryスクリプトをロードし、次にスクリプトjsをロードする必要があることに注意してください

<script type="text/javascript" src="http://code.jquery.com/jquery-2.2.4.min.js"></script>
<script type="text/javascript" src="example.js"></script>

Htmlは順番に読み込まれます!

0
Revol89