Aus irgendeinem seltsamen Grund gibt jQuery, wann immer ich einen Selektor habe und erwarte, mehrere Objekte zu erhalten, nur das erste Element anstelle der gesamten Sammlung zurück.
Dies ist der HTML-Code, den ich habe:
%Vor%Und der Selektor:
%Vor%Ich habe das Debuggen mit FireBug versucht und bekomme immer noch die gleichen Ergebnisse. Mit der Arbeit kann ich es zum Laufen bringen:
%Vor%Ich möchte die integrierte Funktionalität anstelle meiner Arbeit verwenden. Irgendeine Idee, warum nur das erste Element zurückgegeben würde?
Nachdem ich die Problemumgehung für ein paar Monate verlassen hatte, entschied ich mich zu versuchen, nachzusehen, ob sich auf der Seite, die das Problem verursacht hat, etwas befand.
Nach dem Eliminierungsvorgang konnte ich den Fehler auf die Datei jquery.validate.js eingrenzen. Aus irgendeinem Grund führte diese Datei dazu, dass jQuery nur den ersten Wert zurückgab. Ich habe die neueste Version heruntergeladen, und die Selektoren geben jetzt alle die übereinstimmenden Elemente zurück.
Umständlich, ich hatte auch dieses Problem und es stellte sich heraus, dass Chrome eine jQuery-ähnliche Funktion $ () zu haben scheint, die eine Teilmenge der Selektorlogik in ähnlicher Weise implementiert, aber eine Reihe von Funktionen verpasst:
%Vor%Vs mit korrekt eingeschlossener jQuery:
%Vor%Also ... ja, es stellte sich heraus, dass ich mein Skript-Tag etwas falsch formatiert hatte - nicht genug, um irgendwelche Fehler zu verursachen, und es trotzdem die jQuery-Datei abruft, so dass die Netzwerkansicht immer noch angezeigt hat, dass sie gerade geholt wurde als Javascript interpretiert, und als solche jQuery fehlte, aber genug der Syntax funktionierte immer noch, dass es mich für eine Ewigkeit warf.
Hoffentlich spart dies jemandem irgendwann Zeit.
Was Sie haben, sollte bereits funktionieren, Sie können hier ein Beispiel sehen , das ist ein einfacher Anruf:
%Vor% Sie müssen etwas außerhalb der Frage haben, das Ihre Links betrifft, wenn nicht für alle dasselbe Handler ausgeführt wird. Wenn Sie nur ein -Attribut erhalten, stellen Sie sicher, dass Sie in Ihrer Funktion sind Wenn du etwas wie $(".reply").attr("id")
nicht machst, solltest du this
innerhalb des Handlers verwenden, sonst bekommst du das Attribut vom ersten übereinstimmenden Element.
Tags und Links jquery jquery-selectors