35 votes

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

J'ai essayé un grand nombre de plugins jQuery récemment et je continue à obtenir cette erreur

has no method
(source : <a href="https://shaunbellis.co.uk/stackoverflow/jserror.png" rel="nofollow noreferrer">shaunbellis.co.uk </a>)

quel que soit le plugin que j'essaie d'utiliser.

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

J'ai utilisé les plugins en dehors du site principal pour démontrer qu'ils fonctionnent et que je fais bien les choses, avec 100% de réussite.

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 - fancy box fonctionne bien (sauf si le code easySlider est au-dessus). jQuery est géré par Drupal. J'utilise la version 1.4

1 votes

Où est-ce que tu l'exécutes ? Est-il enveloppé dans un .ready() fonction ?

4 votes

+1 pour l'image :) - Veuillez fournir le balisage où vous appelez le code de jQuery et du plugin.

0 votes

J'ai mis à jour la question pour montrer l'information qui a été demandée.

26voto

spsaucier Points 524

Ce problème peut également survenir si vous incluez jQuery plus d'une fois.

1 votes

Oh, mon Dieu. C'était ça, pour moi. Un autre plugin chargeait sa propre version de jQuery. Merci.

0 votes

@Aleks, moi aussi :) Chaque contrôle qui pense avoir besoin de jquery inclut jquery. Cela a résolu mon problème. Tout le monde - essayez de vérifier $.fn (ou jQuery.fn). Si le tableau est vide - alors il s'agit presque toujours d'une erreur de frappe dans l'url, ou de l'inclusion de jquery plus d'une fois.

19voto

Shaun Points 655

Ignorez-moi. Je suis désolé tout le monde. J'avais mal saisi l'url du script. Merci à Simon Ainley pour le coup de pouce dans la bonne direction.

Désolé encore. Merci.

0 votes

Et merci bien sûr à jAndy et Pekka (je parlais à Simon en utilisant un client IM).

0 votes

Je viens de venir ici après avoir passé une bonne demi-heure sur le même problème - je ne me suis jamais senti aussi stupide !

0 votes

Est-il possible de marquer la réponse de Simon Ainley comme étant la bonne ?

10voto

Michael Wolf Points 504

J'ai eu ce problème, ou un qui y ressemblait superficiellement, hier. Il s'est avéré que je n'avais pas fait attention en mélangeant jQuery et le prototype. J'ai trouvé plusieurs solutions à http://docs.jquery.com/Using_jQuery_with_Other_Libraries . J'ai opté pour

var $j = jQuery.noConflict();

mais d'autres options raisonnables y sont décrites.

10voto

Sable Foste Points 1238

Pour tous ceux qui se posent cette question :

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

('#fileselection').hide();

et j'ai eu le même type d'erreur, " Erreur de Type Non Rattrapée : Object #fileselection has no method 'hide'.

Bien sûr, maintenant c'est évident, mais j'ai juste laissé de côté l'indicateur jQuery '$'. Le code aurait dû être :

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

Cela résout le problème de l'évidence. J'espère que cela aidera quelqu'un à gagner quelques minutes de débogage !

0 votes

Qu'est-ce que cela a à voir avec la question ? hide est un intégré, pas un plugin.

0 votes

@FlavorScape, la question n'était pas du tout liée à un plugin... elle était liée au message d'erreur. Relisez la question ; ses informations sur le plug-in sont juste des informations supplémentaires. Aucune des autres réponses ne parle de plug-in non plus. La plupart des gens arrivent à cette question parce qu'ils cherchent sur Google "Uncaught TypeError : Object #fileselection has no method 'hide'", et il s'agit d'un autre élément à vérifier si vous avez passé trop d'heures à programmer pour voir l'utilité des plug-ins. $ disparu.

0 votes

C'est répondre à la mauvaise question. Le PO indique clairement que la référence à jquery est là, donc votre solution n'a rien à voir avec la question. C'est la réponse à une question différente. Il est tout à fait évident que la chaîne "#fileselection" n'a pas de méthode cachée, ce qui n'est pas aussi évident que les conflits de versions de jQuery ou les conflits de plugins entre bibliothèques.

5voto

Scott H Points 66

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

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X