jQuery-Problem – # hat keine Methode

Lesezeit: 3 Minuten

Benutzer-Avatar
Shaun

Ich habe in letzter Zeit eine Vielzahl von jQuery-Plugins ausprobiert und bekomme immer wieder diesen Fehler …

hat keine Methode
(Quelle: shaunbellis.co.uk)

… unabhängig davon, welches Plugin ich zu verwenden versuche.

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

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

Irgendwelche Ideen?

Aktualisieren:

Meine jQuery-Datei namens in der Fußzeile:

$(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 (es sei denn, der easySlider-Code steht darüber). jQuery wird von Drupal aussortiert. Ich verwende Version 1.4

  • Wo treibst du das? Ist es eingewickelt in a .ready() Funktion?

    – Pekka

    7. Juni 2010 um 9:55 Uhr

  • +1 für das Bild 🙂 – Bitte geben Sie das Markup an, in dem Sie jQuery & Plugin-Code aufrufen

    – jAndy

    7. Juni 2010 um 9:55 Uhr

  • Ich habe die Frage aktualisiert, um die gefragten Informationen anzuzeigen.

    – Schaun

    7. Juni 2010 um 9:58 Uhr


  • Ich habe diesen Fehler ein paar Mal bekommen, als ich JQuery lerne, und bin jetzt zweimal auf dieser Frage gelandet. Es stellt sich heraus, dass ich ‘$’ vor dem (#Abschnitt) vergessen habe … hoffe, das hilft jemandem …

    – EinsDreiSieben

    6. April 2012 um 20:26 Uhr


Benutzer-Avatar
Stefan Saucier

Dieses Problem kann auch auftreten, wenn Sie jQuery mehr als einmal einbinden.

  • Ach du lieber Gott. Das war es für mich. Ein anderes Plugin lud seine eigene jQuery-Version. Vielen Dank.

    – Andrew Cheong

    9. Mai 2013 um 9:03 Uhr

  • @Aleks, ich auch 🙂 Jedes Steuerelement, das glaubt, jquery zu benötigen, enthält jquery. Dies löste mein Problem. Jeder – versuchen Sie, $.fn (oder jQuery.fn) zu überprüfen. Wenn das Array leer ist, handelt es sich fast nur um eine falsch eingegebene URL oder um mehr als einmal jquery.

    – Nickmaowitsch

    4. April 2014 um 7:01 Uhr


Ignorieren Sie mich. Es tut mir leid. Ich hatte die URL des Skripts falsch eingegeben. Danke an Simon Ainley für den Schubs in die richtige Richtung.

Nochmals Entschuldigung. Vielen Dank.

  • … und danke natürlich an jAndy und Pekka. (Ich habe mit Simon über einen IM-Client gesprochen).

    – Schaun

    7. Juni 2010 um 10:14 Uhr

  • Ich bin gerade hierher gekommen, nachdem ich eine gute halbe Stunde mit demselben Problem verbracht hatte – noch nie habe ich mich so dumm gefühlt!

    – rrrhys

    16. August 2010 um 8:13 Uhr

  • Ist es möglich, Simon Ainleys Antwort als richtig zu markieren?

    – Michael

    3. Juni 2013 um 9:07 Uhr

Ich hatte dieses Problem, oder eines, das oberflächlich ähnlich aussah, gestern. Es stellte sich heraus, dass ich beim Mischen von jQuery und Prototyp nicht aufgepasst hatte. Ich habe mehrere Lösungen unter gefunden http://docs.jquery.com/Using_jQuery_with_Other_Libraries. Ich entschied mich für

var $j = jQuery.noConflict();

aber es gibt andere vernünftige Optionen, die dort beschrieben sind.

Für alle anderen, die zu dieser Frage kommen:

Ich habe die einfachste jQuery ausgeführt und versucht, ein Element zu verbergen:

('#fileselection').hide();

und ich bekam die gleiche Art von Fehler, “Nicht erfasster TypeError: Objekt #fileselection hat keine Methode ‘hide’

Jetzt ist es natürlich offensichtlich, aber ich habe einfach den jQuery-Indikator ‘$’ weggelassen. Der Code hätte lauten sollen:

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

Dies behebt das No-Brainer-Problem. Ich hoffe, das hilft jemandem, ein paar Minuten beim Debuggen zu sparen!

Dieses Problem kann auch auftreten, wenn Sie verschiedene Versionen von jQuery einbinden.

Benutzer-Avatar
mark.inman

Dies hat normalerweise damit zu tun, dass ein Selektor nicht richtig verwendet wird. Überprüfen und stellen Sie sicher, dass Sie die jQuery-Selektoren wie beabsichtigt verwenden. Zum Beispiel hatte ich dieses Problem beim Erstellen einer Klickmethode:

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

Da ich nicht die richtige Auswahlmethode $(this) für jQuery verwendet habe, gab es mir den gleichen Fehler.

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

1213600cookie-checkjQuery-Problem – # hat keine Methode

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy