Zugriff auf Elemente im inneren dynamisch divs erstellt mit HTML/Javascript
Ich bin Recht neu in javascript und JQuery Programmierung. In der Regel, um Elemente, die ich Ihnen geben eine id, so kann ich Ihnen wie $("#"+id).blabla().
Aber jetzt brauche ich, um dynamisch erstellen Sie ein div, und Zugriff auf Elemente im inneren.
Etwas wie
<div id="automaticallyGeneratedId">
<div ???></div> <!-- first div -->
<div ???></div> <!-- second div -->
</div>
Was sind die besten Methoden, um den Zugang und die Identifikation jedes der inneren divs?
Generiere ich eine andere id für Sie?
Oder was?
Habe ich nicht die Theorie von Selektoren vollständig klar.
Bearbeiten: verändert die Frage von der Identifizierung einer einzigen inneren div auf die Ermittlung divs unter vielen von Ihnen
Ich kam in das gleiche problem wie in 2012. Ich habe die generiert paar html-Elemente innerhalb einer Schleife verwenden und geben Sie die IDs wie diese id="element"+i, jetzt weiß ich nicht, wie man auf Sie zugreifen? Ich habe versucht, die gleiche Art, wie oben erklärt, in Ihrer Frage, aber das hat nicht funktioniert. Was ist die Lösung, die Sie anpassen, um dieses Ding funktioniert? Danke.
InformationsquelleAutor cdarwin | 2012-07-18
Du musst angemeldet sein, um einen Kommentar abzugeben.
Pflegen Sie ein Muster, wenn Sie generieren
id
. Zum Beispiel:wenn du immer generieren
id
wie:myid1
,myid2
,myid3
...dann können Sie versuchen:
ODER
Hier
^=
ist, starten Sie mit dem Auswahlwerkzeug, sodiv[id^=myid]
wählendiv
derenid
start mitmyid
.Können Sie auch verwenden, Enthalten word-selector ist
~=
und wie$('div[id~=myid]')
. Wird diese Optiondiv
mitid
enthält wordmyid
.Statt
id
wenn Sie verwenden möchten anderen Attribut zB.name
dann ändern Selektor wie:$('div[name^=myid]')
oder$('div[name~=myid]')
.das bedeutet, dass, anstatt
id
müssen Siename
Attribut-container (außen)div
? e.g<div name="dynamicid"></div>
statt<div id="dynamicid"></div>
es ist nicht wichtig, die Zuordnung von Namen oder die id an den äußeren div, was ich meinte ist, dass ich war daran interessiert, den Zugriff auf die inneren divs und nicht das äußere. Früher habe ich immer nur "$(id)", aber ich sehe, dass finden, akzeptiert die gleichen Selektoren wie $ hat, so verstehe ich, dass ich verwenden können, Ihren Vorschlag in das Teil zu finden, wie $(...).find('div[id]'), richtig?
yup... man kann...
InformationsquelleAutor thecodeparadox
Es ist in der Regel eine gute Praxis, wenn Sie bereits einen Verweis auf das äußere div, um nur von dort aus zu suchen Verwendung finden.
Können Sie ihm eine id, oder, wenn Sie wollen, zu einem allgemeineren Ansatz können Sie die Verwendung von Klassen.
InformationsquelleAutor ChrisThompson
In der Regel, wenn Sie Sie erstellen, können Sie event-Handler und das mag gerade auf Sie. Wie diese:
Brauchen Sie nicht zu stören, indem Sie Sie mit der ID oder Klassen, die Sie bereits in Ihrem code.
Andere Möglichkeit ist die Verwendung von Ereignis-bubbling zu handhaben neu erstellte Elemente in der gleichen Klasse. Ein guter link dazu ist dieser: http://beneverard.co.uk/blog/understanding-event-delegation/
InformationsquelleAutor Florian Margaine
Viele Möglichkeiten, wie Sie ein element erstellen und geben Sie ihm eine Id oder Class, oder verwenden Sie die DOM-Zugriff..
anderen Weg
InformationsquelleAutor user1475195
Zugriff auf das div-Element in das element mit der id:
InformationsquelleAutor Marco de Wit
Wenn Sie den cache des divs könnte man so etwas wie:
InformationsquelleAutor Perpetual Infinity
Erstellen einer listener delegiert und innerhalb der listener-finden Sie das element, indem Sie diese
InformationsquelleAutor Ken Mumo