24

こんにちは、次のコードを使用しているときに「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>

ここに画像の説明を入力

4

8 に答える 8

14

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

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

于 2012-06-02T18:25:00.570 に答える
12

使用する必要はありませjQuery.noConflict

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

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

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

// All your code using $

});

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

于 2012-06-04T04:21:06.327 に答える
3

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

何かのようなもの

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

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

于 2012-06-02T19:33:30.573 に答える
3

これは古い質問であることは承知しており、ほとんどの人が適切な回答をしています。しかし、参考までに、他の人の時間を節約できることを願っています。関数が次のことを確認します。

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

JQueryライブラリをロードした に呼び出されています

于 2015-10-19T02:03:13.803 に答える
1

他の多くの人が上記のあなたの質問に答えました。この問題は、スクリプトで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>

`

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

于 2012-06-03T07:33:13.567 に答える
0

最初に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を順次読み込み!

于 2016-10-30T23:25:36.643 に答える