TypeError: 'undefined' est pas une fonction (évaluation '$(document)')
- Je suis sur un site WordPress.
- Je suis, y compris ce script dans l'en-tête.
Lorsque le script charge, j'obtiens cette erreur:
TypeError: 'undefined' est pas une fonction (évaluation '$(document)')
Je n'ai aucune idée de ce qui est à l'origine ou ce qu'il signifie.
Dans firebug, j'obtiens ceci:
$ n'est pas une fonction
- Assurez-vous que vous êtes, y compris la bibliothèque jQuery avant votre script personnalisé, et qu'il n'y a pas d'erreurs dans le
Net
onglet de Firebug (assurez-vous que jQuery est chargé). - ... oui, bien sûr, jQuery est en cours de chargement avant de la main. Je suis sûr que c'est un WordPress enque question.
Vous devez vous connecter pour publier un commentaire.
WordPress utilise jQuery dans noConflict mode par défaut. Vous avez besoin de référence à l'aide de
jQuery
le nom de la variable, pas$
, par exemple l'utilisationau lieu de
Vous pouvez facilement conclure à une auto de l'exécution de la fonction, de sorte que
$
fait référence à jQuery (et évite de polluer l'espace de noms global ainsi), par exemplejQuery(document)
au lieu de$(document)
où vous le souhaitez. Si vous voulez utiliser$
au lieu de cela, alors le script ci-dessus crée simplement une fonction qui prend un argument$
puis l'exécute en passantjQuery
; en bref, à l'intérieur de la fonction,$
points de jQuery que vous attendez.$(document).ready(function() { // code });
en place de votre$(document);
... qui a travaillé comme un charme.Utilisation de jQuery
noConflict
. Il fait des merveilles pour moiQui est, en supposant que vous avez inclus jQuery sur votre HTML
Utiliser ceci:
Essayez de cet extrait:
Cela a fonctionné pour moi, peut-être que ça vous aidera aussi.
J'ai eu ce problème uniquement sur Chrome.
J'ai essayé d'ajouter
juste avant l'appel de
Il a travaillé.
Merci beaucoup
Également vérifier pour l'inclusion de jQuery, suivi de quelques composants et d'autres bibliothèques (comme jQuery UI) puis accidentellement y compris jQuery de nouveau - ce qui va redéfinir jQuery et déposer le composant aides (comme .datepicker) au large de l'instance.
Placer votre code js à l'intérieur de la fermeture ci-dessus , il faut résoudre le problème.
Je voudrais utiliser ce
J'ai également été confrontés à des problèmes beaucoup de temps dans le développement web du transporteur. Fait ce n'est pas JS conflit, Lorsque nous charger de site html au navigateur, nous ne sommes pas confrontés à ces erreurs, mais quand on les charge ce type de site web par le biais de localhost nous sommes confrontés à un tel problème. C'est à cause de localhost. Lorsque nous charger des scripts via le localhost de l'analyse de l'script et rend la sortie. Mais quand nous n'avons pas utiliser localhost. Il suffit de scanner la sortie. Exemple, lorsque nous écrivons le code php putside le localhost et exécuter sans l'hôte nous obtenons l'erreur. Mais si le code est correct, et est géré par l'hôte nous obtenons de sortie réelle, et lorsque nous utilisons inspecter l'élément nous obtenons le code de sortie au format HTMl, mais pas en format PHP c'est parce que de la prestation du code.
C'est le rendu d'erreur. Pour fixer ces jquery code d'erreur de l'un de la solution peut être d'utiliser cette méthode.
Ce que ce code n'est s'inscrire " $ " comme la varible à la fonction par l'application de jquery. D'autre par défaut .js fichier est en lecture uniquement en javascript.
J'ai rencontré ce problème lors de l'inclusion de jQuery dans mon en-tête de page, ne réalisant pas l'hôte était déjà, y compris dans la page automatiquement. De chargement de votre page live et vérifiez la source pour voir si jQuery est liée.
Deux choses:
envelopper tout le script entre cette...
Beaucoup de bibliothèques JavaScript utiliser $ comme une fonction ou un nom de variable, tout comme le fait jQuery. JQuery dans le cas d'espèce, $ n'est qu'un alias pour jQuery, toutes les fonctions sont disponibles sans l'aide de $. Si vous avez besoin d'utiliser une autre librairie JavaScript côté de jQuery, de contrôle de retour de dollars en arrière à l'autre de la bibliothèque avec un appel à $.noConflict(). Anciennes références de $ sont enregistrés lors de jQuery initialisation; noConflict (), il suffit de les restaure.
Vous pouvez utiliser jQuery et $ dans l'extrait de code ci-dessous. il a travaillé pour moi
Vous pouvez passer $ dans la fonction()
ou vous pouvez remplacer
$(document);
avec cettejQuery(document);
ou vous pouvez utiliser
jQuery.noConflict()