2011-01-13 5 views
0

Dieser macht mich verrückt.jQuery - Cant Select HIdden Elemente

Iv eine Seite geschrieben, mit jQuery, seine große zum Einfügen hier, aber krank Post ein Kürzel Beispiel.

Es gibt ein Inhaltsfenster, das leer geladen wird.

Dann gibt es drei versteckte divs, mit Inhalt für Kontaktdaten, Website Details usw.

Die Idee ist, wenn Sie auf eine Schaltfläche klicken, wir tauschen einfach den Inhalt der div-Tags in den leeren Inhaltsbereich (div) und reinschieben und reinschieben.

Das alles funktioniert gut, obwohl hier mein Problem ist.

Ich habe eine Schaltfläche senden auf dem Kontaktformular, aber egal was ich versuche, kann ich es nicht mit jQuery auswählen.

Iv entfernt den gesamten Kontaktcode dahinter, und jetzt versuche ich nur, eine Alarmbox zu öffnen, und das kann ich gar nicht machen.

dh $('.send').click(function() {alert('Something');});

Die einzige Schlussfolgerung, die ich mit oben kommen kann, dass liegt daran, dass die Kontaktplatte verborgen ist, wenn die Seite geladen wird, seine Fehler um es auszuwählen.

Ich füge denselben "Senden" -Knopf den zwei anderen divs hinzu, und nur die divs ', die ausgeblendet sind, wenn die Seite geladen wird, funktioniert das div, das angezeigt wird, wenn die Seite zuerst lädt.

Sein vielleicht schwer zu beschreiben, aber einen Blick auf den Code auf dieser Seite nehmen: http://cheynewallace.com/custom/about/

Unter der Erfahrung Registerkarte „diese Seite“ klicken und die „Kontakt“ können Sie das erste Wort sehen ist ein fettes "Senden", das ist was ich versuche zu verwenden. Sie können sehen, dass alle drei Send-Tasten genau gleich sind.

Warum funktioniert es nur auf der 1? Der selector im using wählt alle Klassen von .send aus.

Prost

+0

Leider lesen, sollte ich auch erwähnen, ich Head.js benutze und laufen Sie den Code aus einem head.ready (Block) – Cheyne

+0

I‘ Ich bin mir nicht sicher, ob es hilft, aber wenn man von einem Tab zurück zum Start wechselt, funktioniert der erste "Senden" -Link nicht mehr ... – dpmguise

+0

Eigentlich ist das Add to Meinen Punkt. Sobald dieses Element wieder ausgeblendet wird, scheint es eine Auswahl zu entfernen, die jQuery gemacht hat. – Cheyne

Antwort

1

Da Sie wird HTML in diesem Block, Ereignisbindung entfernt ändern. Sie können die Methode live() verwenden, die einen Handler an das Ereignis für alle Elemente anfügt, die jetzt und in Zukunft mit dem aktuellen Selektor übereinstimmen. In Ihrem Fall wird es so etwas wie:

$(".send").live("click", function() {alert("Something")}) 

mehr here

+0

Awesome, danke Andrei ... jQuery nie versäumt, eine Antwort zu haben .. Ich liebe es .. – Cheyne

+0

ps .. Zu jemand anderen Lesen dieser Seite, im Entfernen der Demo-Schaltflächen jetzt. – Cheyne