jQuery: Kann nicht wählen Sie nur angefügt element
Dies ist, was passiert auf der Veranstaltung:
$('div#pages').append($('<div class="page" id="test">...</div>'));
Und dann, auf einem anderen event-es scheitert, dies zu tun:
var page = $('div.page#test'); //returns empty array
Ich habe gedebuggt und den angehängten html wird in der Dokument-Struktur nach anfügen, aber nicht ausgewählt. Das gleiche tun in der browser-Konsole funktioniert perfekt.
Was könnte das problem sein?
Der erste code-snippet ist eine fehlende Klammer. Ist das ein Tippfehler? Auch, wie Sie überprüfen die Reihenfolge der Veranstaltungen?
es wurde Tippfehler beim schreiben der post (bearbeitet). Gut, es ist nicht unbedingt auf das Ereignis, nach dem div Hinzugefügt wurde, gehe ich die dev-tools im browser, stellen Sie sicher, dass das div-Element gibt, gehen Sie auf die Konsole, wählen Sie es mit jquery - kein Erfolg.
danke für die Erinnerung, aber es können auch andere divs wie
wenn Sie mehrere Elemente mit der gleichen
$('#test')
sollte ausreichen, da ids eindeutig sein sollte. Es gibt keinen Grund zu der Kette einer Klasse und einer id in deinem Selektor.es wurde Tippfehler beim schreiben der post (bearbeitet). Gut, es ist nicht unbedingt auf das Ereignis, nach dem div Hinzugefügt wurde, gehe ich die dev-tools im browser, stellen Sie sicher, dass das div-Element gibt, gehen Sie auf die Konsole, wählen Sie es mit jquery - kein Erfolg.
danke für die Erinnerung, aber es können auch andere divs wie
<div class="thread" id="test">...
wenn Sie mehrere Elemente mit der gleichen
id
, das ist ungültiges HTML.InformationsquelleAutor Acute | 2014-03-10
Du musst angemeldet sein, um einen Kommentar abzugeben.
Verwenden
.find()
http://api.jquery.com/findes macht den job, können Sie erklären, warum die üblichen select funktioniert nicht?
Ich denke, es hat zu tun mit einem Umfang Problem. Wie, wenn Sie haben die regelmäßigen Selektor ohne .finden(), in der gleichen Funktion/Ereignis-als wenn Sie angehängt, dann würde es auch funktionieren. Jedoch, da Ihr diese in zwei verschiedenen Funktionen/Ereignisse, oder 1 in der Funktion und eine andere außerhalb, die Sie verwenden müssen .finden (), da der DOM nicht finden konnte, es das erste mal um. Sorry, nicht die beste im erklären
tatsächlich, Sie Tat ziemlich gut!
InformationsquelleAutor CRABOLO
Hatte das gleiche Problem, gefunden, dass, wenn ich fügte hinzu, die Zuhörer, bevor man den div-würde es nicht finden, die div. Stellen Sie sicher, dass Sie den Hörer nach dem Objekt.
InformationsquelleAutor Thibauld Nuyten
Musste ich einen hack zu Holen, um dieses problem in letzter Zeit bei mir war dynamisch einfügen
<select>
Elemente. Ich änderte dies::
Ich weiß, es scheint wie es sein sollte, die genaue gleichen Sache, aber nur der zweite funktioniert.
InformationsquelleAutor Joisey Mike
Brauchen Sie nur zu verwenden live Methode:
InformationsquelleAutor Hossin Asaadi
verpasste Zitate auf Klasse name
page
Vermisste auch
)
fürappend()
Sollte
statt
Nein, das ist nicht ein problem, und es war meine typo %) fixiert)
Die Anführungszeichen sind nicht notwendig, auf modernen Browsern.
InformationsquelleAutor Suman Bogati