Voici les 2 erreurs les plus basiques que l’on peut voir dans la console quand on se met à jQuery.
Comment ? Pourquoi ? Que faire ?
$ is undefined
Alternatives : jQuery is undefined
Pourquoi ce message ?
Ce message signifie que jQuery (ou son raccourci $) n’est pas encore défini – lire « présent dans la page » – quand vous essayez de l’utiliser.
Comment résoudre ce problème ?
Dans l’ordre :
- Avez-vous inclus jQuery dans votre page ?
1<script type="text/javascript" src="chemin/vers/jQuery"/>
- Ce chemin est-il bon ? (Attention aux chemins absolus et relatifs)
- Utilisez-vous https ou un chemin commençant par « // » sans autres indications ? Dans le 1er cas, il peut y avoir un problème de sécurité, dans le 2ème, ça ne fonctionne pas depuis le file system, tentez depuis un serveur HTTP.
- Vérifiez depuis l’onglet « Network » ou « Réseau » de votre console que 1- jQuery est bien appelé et 2- que le code retour est bien OK (200, 302, etc.)
$ is not a function
Alternatives : jQuery is not a function
Pourquoi ce message ?
Ce message signifie que jQuery (ou son raccourci $) ont été redéfinis (la plupart du temps, une autre librairie utilise « $ » comme raccourci).
Comment résoudre ce problème ?
Dans l’ordre :
- Pouvez-vous choisir entre l’une ou l’autre des librairies ? Si oui, n’hésitez pas et n’en gardez qu’une seule. Vous gagnerez en poids.
- Si l’erreur est sur « $ », utilisez « jQuery » à la place. Il est rarement utilisé ;-). Exemple : au lieu de
1$(document).ready(...
, vous aurez
1jQuery(document).ready(... - Si cela ne fonctionne toujours pas (par exemple, dans le cas de l’utilisation d’un plugin), utilisez le
1.noConflict()
- Enfin, si vous n’utilisez pas de plugins, vous pouvez utiliser des raccourcis tels que
1
2
3jQuery(document).ready(function( $ ) {
/* some code that uses $ */
})ou
1
2
3(function($) {
/* some code that uses $ */
})(jQuery);