2010-06-07 6 views
34

ich vor kurzem eine veriety von jQuery Plugins versucht haben und ich halte diesen Fehler ...jQuery Ausgabe - # <an Object> hat keine Methode

has no method

... unabhängig davon, welche Plugins ich versuche zu verwenden.

Ich habe die Links zu den JS-Dateien überprüft, die alle da sind und gut funktionieren. Ich benutze Drupal, wenn das einen Unterschied macht.

Ich habe die Plugins von der Hauptseite entfernt, um zu zeigen, dass sie funktionieren und dass ich mit 100% Erfolg Dinge richtig mache.

Irgendwelche Ideen?

Update:

Meine jQuery-Datei in der Fußzeile genannt:

$(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, 
}); 

});

* Hinweis - Fancy Box funktioniert gut (außer der easySlider-Code ist darüber). jQuery wird von Drupal aussortiert. Ich führe Version 1.4

+1

Wohin führen Sie das? Ist es in eine '.ready()' Funktion verpackt? –

+4

+1 für das Bild :) - Bitte geben Sie das Markup, wo Sie jQuery & Plugin-Code – jAndy

+0

Ich habe die Frage aktualisiert, um die Informationen anzuzeigen, die gefragt wurden. – Shaun

Antwort

19

Ignoriere mich. Es tut mir leid, alle zusammen. Ich habe die URL des Skripts falsch eingegeben. Danke an Simon Ainley für die Hinführung in die richtige Richtung.

Entschuldigung nochmal. Vielen Dank.

+0

Whoop! geh mir :-) –

+6

wer ist Simon Ainley: p? – jAndy

+0

... und danke natürlich an Anny und Pekka. (Ich sprach mit Simon mit einem IM-Client). – Shaun

10

Ich hatte dieses Problem, oder eines, das oberflächlich ähnlich sah, gestern. Es stellte sich heraus, dass ich beim Mischen von jQuery und dem Prototyp nicht vorsichtig war. Ich fand mehrere Lösungen bei http://docs.jquery.com/Using_jQuery_with_Other_Libraries. Ich entschied mich für

var $j = jQuery.noConflict(); 

aber es gibt andere sinnvolle Optionen beschrieben dort.

26

Dieses Problem kann auch auftreten, wenn Sie jQuery mehr als einmal einschließen.

+1

Oh, mein Gott. Das war es für mich. Ein anderes Plugin hat seine eigene jQuery-Version geladen. Vielen Dank. –

+0

ich auch mehr als einmal hinzugefügt danke @spsaucier endlich der Fehler verschwinden ... – Iftikhar

+0

ich geladen 3 mal: D – Aleks

10

Für alle anderen in dieser Frage kommen:

ich die einfachste jQuery ausführte, versuchen, ein Element zu verstecken:

('#fileselection').hide(); 

und ich war die gleiche Art von Störung zu erhalten, "Uncaught Typeerror: Object #fileselection hat keine Methode ‚verstecken‘

natürlich, jetzt ist es offensichtlich, aber ich nur die jQuery-Anzeige ‚$‘ aufhörte Der Code sein sollte.

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

Dies behebt das Kinderspiel Problem. Ich hoffe das hilft jemand ein paar Minuten Debugging zu sparen!

+0

Was hat das mit der Frage zu tun? verstecken ist ein eingebautes, kein plugin. – FlavorScape

+0

@FlavorScape, die Frage bezog sich überhaupt nicht auf ein Plugin ... es war mit der Fehlermeldung verbunden. Lies die Frage noch einmal durch; Seine Plug-In-Informationen sind nur zusätzliche Informationen. Keine der anderen Antworten spricht auch von Plug-Ins. Die meisten Leute kommen zu dieser Frage, weil sie googlen "Uncaught TypeError: Object #fileselection hat keine Methode 'hide'", und dies ist ein weiterer Punkt, um zu überprüfen, ob Sie zu viele Stunden programmiert haben, um das '$ 'missing zu sehen. – Sablefoste

+0

Es ist die falsche Frage zu beantworten. Das OP zeigt deutlich an, dass der Verweis auf jQuery vorhanden ist, also hat Ihre Lösung nichts mit der Frage zu tun. Es ist die Antwort auf eine andere Frage. Es ist ziemlich offensichtlich, dass die Zeichenfolge "#fileselection" keine Methodenverbergung hat, was nicht so offensichtlich ist wie widersprüchliche jQuery-Versionen oder Plugin-Konflikte zwischen Bibliotheken. – FlavorScape

5

Dieses Problem kann auch auftreten, wenn Sie verschiedene Versionen von jQuery einschließen.

3

Dies hat normalerweise damit zu tun, dass ein Selektor nicht richtig verwendet wird. Überprüfen Sie und stellen Sie sicher, dass Sie die jQuery-Selektoren wie vorgesehen verwenden.Zum Beispiel hatte ich dieses Problem, wenn eine Klick-Methode zu erstellen:

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

Weil ich nicht die richtigen Selektor Methode $ unter Verwendung wurde (diese) für jQuery es mir den gleichen Fehler gab.

So einfach genug, überprüfen Sie Ihre Selektoren!