web-dev-qa-db-fra.com

$ (document) .ready (function () {Uncaught ReferenceError: $ n'est pas défini

Bonjour, je rencontre un message d'erreur "Référence non détectée: $ n'est pas défini" lors de l'utilisation de codes ci-dessous

Je reçois actuellement l'erreur suivante dans mon journal. J'ai examiné les exemples dans la structure et je n'arrive pas à trouver où se trouve l'erreur. Cela fait plus de 10 ans que j'ai écrit du HTML ou du JS et ce que je faisais alors était très simple. Toute aide serait appréciée

<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

18

Il semble que vous n’importiez pas jquery . Ces fonctions $ sont fournies avec cette bibliothèque non standard (mais très utile).

Lisez le tutoriel ici: http://docs.jquery.com/Tutorials:Getting_Started_with_jQuery .__ Il commence par savoir comment importer la bibliothèque.

10
Denys Séguret

Pas besoin d'utiliser jQuery.noConflict et tout

Essayez ceci à la place:

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

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

// All your code using $

});

Si vous obtenez toujours une erreur à la ligne 87, telle que Uncaught reference error: jQuery is not defined, vous devez inclure le fichier jQuery avant de l'utiliser, pour laquelle vous pouvez vérifier les réponses ci-dessus

9
Om Shankar

Mettez ce code dans les tags <head></head>:

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

Si vous êtes sûr que jQuery est inclus, essayez de remplacer $ par jQuery et réessayez.

Quelque chose comme

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

Néanmoins, si vous obtenez une erreur, vous n'avez pas inclus jQuery.

3
kiranvj

Je sais que c'est une vieille question et la plupart des gens ont répondu avec de bonnes réponses. Mais pour référence et, espérons-le, gagner du temps à quelqu'un d'autre. Vérifiez si votre fonction:

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

est appelé après vous avez chargé la bibliothèque JQuery 

2
Raul Reyes

beaucoup d'autres personnes ont répondu à votre question ci-dessus. Ce problème se pose lorsque votre script ne trouve pas le script jQuery et si vous utilisez un autre framework ou cms, alors il y a peut-être un conflit entre jQuery et d'autres bibliothèques . `

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

`

il pourrait y avoir une erreur de syntaxe. S'il vous plaît pardonnez-moi parce que je vous écris depuis mon téléphone portable. Merci

1
maksbd19

N'oubliez pas que vous devez d'abord charger le script jquery, puis le script 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>

Le HTML est lu séquentiellement!

0
Revol89