web-dev-qa-db-fra.com

Problème jQuery - # <un objet> n'a pas de méthode

J'ai récemment essayé une multitude de plugins jQuery et je reçois toujours cette erreur…

has no method
(source: shaunbellis.co.uk )

… Quel que soit le plugin que j'essaie d'utiliser.

J'ai vérifié les liens vers les fichiers JS qui sont tous là et fonctionnent bien. J'utilise Drupal si cela fait une différence.

J'ai exécuté les plugins hors du site principal pour démontrer qu'ils fonctionnent et que je fais les choses correctement avec un succès à 100%.

Des idées?

Mise à jour:

Mon fichier jQuery appelé dans le pied de page:

$(document).ready(function() {          

$('#footer_holder').hide();

// Fancy Box
$("a.fancybox").fancybox({
    'hideOnContentClick': true,
    'titlePosition' : 'over',
    'transitionIn'  :   'elastic',
    'transitionOut' :   'elastic',
    'speedIn'       :   600, 
    'speedOut'      :   200, 
    'overlayShow'   :   false,
});

$("#homepage_slider").easySlider({
    auto: true, 
    continuous: true,
});

});

* note - la boîte fantaisie fonctionne bien (sauf si le code easySlider est au-dessus). jQuery est trié par Drupal. J'utilise la version 1.4

35
Shaun

Ignore moi. Je suis désolé tout le monde. J'avais mal saisi l'URL du script. Merci à Simon Ainley pour la prod dans la bonne direction.

Encore pardon. Merci.

19
Shaun

Ce problème peut également survenir si vous incluez jQuery plusieurs fois.

26
spsaucier

Pour tous ceux qui arrivent à cette question:

J'exécutais le jQuery le plus simple, essayant de cacher un élément:

('#fileselection').hide();

et j'obtenais le même type d'erreur, "ncaught TypeError: Object #fileselection n'a pas de méthode 'hide'

Bien sûr, maintenant c'est évident, mais je viens de laisser l'indicateur jQuery '$'. Le code aurait dû être:

$('#fileselection').hide();

Cela résout le problème évident. J'espère que cela aide quelqu'un à économiser quelques minutes de débogage!

10
Sablefoste

Hier, j'ai eu ce problème, ou celui qui semblait superficiellement similaire. Il s'est avéré que je ne faisais pas attention lors du mélange de jQuery et de prototype. J'ai trouvé plusieurs solutions sur http://docs.jquery.com/Using_jQuery_with_Other_Libraries . J'ai opté pour

var $j = jQuery.noConflict();

mais il existe d'autres options raisonnables décrites ici.

10
Michael Wolf

Ce problème peut également survenir si vous incluez différentes versions de jQuery.

5
Scott H

Cela est généralement dû au fait qu'un sélecteur n'est pas utilisé correctement. Vérifiez et assurez-vous que vous utilisez les sélecteurs jQuery comme prévu. Par exemple, j'ai eu ce problème lors de la création d'une méthode de clic:

$("[editButton]").click(function () {
    this.css("color", "red");
});

Parce que je n'utilisais pas la bonne méthode de sélection $ (this) pour jQuery, cela m'a donné la même erreur.

Alors tout simplement, vérifiez vos sélecteurs!

3
mark.inman