Question ReferenceError non interceptée: $ n'est pas défini?


Comment se fait-il que ce code jette un

ReferenceError non interceptée: $ n'est pas défini

quand c'était ok avant?

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

Les résultats dans les onglets ne se ferment plus.

jQuery est référencé dans l'en-tête:

<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>

499
2018-01-15 23:04


origine


Réponses:


Vous devez d'abord placer les références aux scripts 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>

589
2018-01-15 23:08



Vous appelez la fonction ready avant l'inclusion du JavaScript jQuery. Référence jQuery en premier.


166
2018-01-15 23:07



C'est ce qui l'a résolu pour moi. À l'origine, je suis allé sur Google et j'ai copié et collé leur extrait suggéré pour jQuery sur leur page CDN:

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

L'extrait ne comprend pas le HTTP: ou HTTPS: dans le src attribut mais mon navigateur, FireFox, en avait besoin alors je l'ai changé pour:

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

alors ça a marché.


92
2018-03-17 17:50



Si votre script personnalisé est chargé avant que le plug-in jQuery ne soit chargé dans le navigateur, ce type de problème peut se produire. Conservez donc toujours votre propre code JavaScript ou jQuery après avoir appelé le plug-in jQuery pour que la solution soit:

Ajoutez d'abord le lien vers le fichier jQuery hébergé chez GoogleApis ou un fichier jQuery local que vous téléchargerez à partir de http://jquery.com/download/ et héberger sur votre serveur:

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

ou n'importe quel plugin pour jQuery. Ensuite, mettez votre lien ou votre code de fichier de script personnalisé:

<script src="js/custom.js" type="text/javascript"></script>

41
2018-01-24 11:46



Dans mon cas, je mettais mon .js fichier avant le lien de script jQuery, en mettant le .js fichier après le lien de script jQuery résolu mon problème.

<script src="http://code.jquery.com/jquery-1.10.2.js"></script>
<script src="http://code.jquery.com/ui/1.11.2/jquery-ui.js"></script>
<script src="http://maxcdn.bootstrapcdn.com/bootstrap/3.2.0/js/bootstrap.min.js"></script>
<script src="exponential.js"></script>

34
2017-12-15 02:55



D'accord, mon problème était différent - c'était Sécurité des documents modèle dans Chrome.

En regardant les réponses ici, il était évident que je n'étais pas en train de charger mes fichiers jquery avant d'appeler le $(document).ready() fonctions etc. Cependant, ils étaient tous dans les bonnes positions.

Dans mon cas, c'était parce que j'accédais au contenu via une connexion HTTPS sécurisée, alors que la page essayait de télécharger les données hébergées sur CDN de google, etc. La solution était de les stocker localement et ensuite d'inclure directement plutôt que du CDN à chaque fois.

modifier: L'autre façon de faire est de lier à tous les éléments hébergés sur CDN comme https: // plutôt que http: // - alors le modèle ne se plaint pas.


24
2018-02-19 07:46



Si c'est dans wordpress, pourrait être nécessaire de changer

$(document).ready(function() {

à

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

ou ajouter

var $ = jQuery;

avant

$(document).ready(function() {

18
2017-07-09 08:27



Ajoutez la bibliothèque avant de commencer le script. Vous pouvez ajouter l'un des éléments suivants CDN pour le démarrer

Google:

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

Microsoft

<script src="https://ajax.aspnetcdn.com/ajax/jQuery/jquery-3.2.1.min.js"></script>

Jquery

Si vous voulez une autre version de cdn Jquery, cochez cette case lien.

Après ça:

<script type="text/javascript">
$(function(){
    //your stuff
});
or
$(document).ready(function(){
    //your stuff
});    
</script>

Wordpress:

<script type="text/javascript">
var $ = jQuery;
jQuery(document).ready(function($){
     //your stuff
});
</script>

14
2018-05-04 10:17



J'ai eu exactement le même problème et aucune de ces solutions n'a aidé. Cependant, je viens de lier les fichiers .css après les fichiers .js et le problème a miraculeusement disparu. J'espère que cela t'aides.


13
2018-01-19 12:55