[jQuery/Wordpress] Klassenselektor liefert nicht gewünschtes Objekt

Masaku

Mitglied
Hi zusammen,
ich kann es mir nicht erklären: Ein Skript, das vorher lief, läuft plötzlich nicht mehr, obwohl keine Änderungen vorgenommen wurden. Und ich seh einfach nicht, was genau da falsch ist.

Nach einigem Nachprüfen und wiederholten alternativen Lösungsversuchen bleibe ich immer an einem Problem hängen: Irgendwie scheint der Klassenselektor nicht wie erwartet zu funktionieren. Jedes Mal, wenn ich ein Element anhand einer Klasse auswähle, wird zwar ein Objekt geliefert, aber ich kann keine weiteren Funktionen damit ausführen (z.B. .html() für die Ausgabe des Inhalts).

Kann mir jemand von euch weiterhelfen?

Hab das mal alles in ein Fiddle gepackt: http://jsfiddle.net/WVRKg/
Der obere Teil des JS-Felds ist eigentlich schon irrelevant; dsas Ganze funktioniert schon bei den Konsolenausgaben im click()-Bereich nicht mehr.


Danke für eure Zeit.

PS: Hab im Fiddle zwar jQuery 1.8.3 eingestellt aber laufen tut noch die 1.8.0 auf dem Server. Die Version sollte jedoch keine große Rolle spielen, denn wie gesagt hat das Skript vorher ja funktioniert.
PPS: Vielleicht als Erläuterung: Ziel des Skripts ist ein Ein-/Auskappverhalten für Newstexte.
 
Hi,

so funktioniert es: http://jsfiddle.net/WVRKg/3/

Meine Änderungen:

- Body-Tag aus HTML-Box von jsFiddle entfernt, stattdessen Body-Starttag unter "Fiddle Options" links in der Menübar eingegeben (jsFiddle generiert automatisch den <body>-Tag!).

- Statt $("#content article") habe ich $("article") genommen. Ein Element mit der ID #content hast du nicht in deinem Dokument.

- Zeile console.debug(excerpt.toSource()); entfernt. toSource() existiert nicht bei dem Objekt excerpt.

Übrigens kannst du statt
Javascript:
$("article").each(function(){
		$(this).click(function(){
// ...
                });
});
Auch einfach folgendes schreiben:
Javascript:
$("article").click(function () {
});
 
Also, das Ganze funktioniert jetzt wieder.

Die Sache war etwas verzwickt, weil ich ins Fiddle noch Fehler eingebaut hab (wie eben z.B. den BODY oder das #content DIV. Die habe ich auch so gelassen. Was ich aber geändert habe, ist, dass ich das Click-Event direkt mit $(article) verknüpft habe, statt über each zu gehen. Hier funktionierts auf einmal. Meine Vermutung ist also, dass dort irgendwo ein Bug drin war... mehr musste ich nämlich nicht tun.

Also danke dir für deine Hilfe!

Übrigens: toSource() ist eine Funktion, die von Firefox zum Debuggen zur Verfügung gestellt wird.
 

Neue Beiträge

Zurück