Ich verwende jQuery.append () , um einige Elemente dynamisch hinzuzufügen. Gibt es eine Möglichkeit, eine jQuery-Sammlung oder ein Array dieser neu eingefügten Elemente abzurufen?
Also möchte ich das machen:
$("#myDiv").append(newHtml);
var newElementsAppended = // answer to the question I'm asking
newElementsAppended.effects("highlight", {}, 2000);
Antworten:
Es gibt einen einfacheren Weg, dies zu tun:
Das macht die Dinge um , indem zuerst
newHtml
mitjQuery(html [, ownerDocument ])
, und dann unter Verwendung vonappendTo(target)
( man beachte den „To
“ Bit) , dass es bis Ende hinzuzufügen#mydiv
.Da Sie jetzt beginnen mit
$(newHtml)
dem EndergebnisappendTo('#myDiv')
ist , dass neue bisschen html, und der.effects(...)
Anruf auf dieser sein wird , neue bisschen html zu.quelle
effects
keine Funktion ... abereffect
istnewHtml
nicht gültig HTML oder ein gültiger jQuery - Selektor ist:$('/ This is Not HTML /').appendTo('#myDiv')
Ergebnisse inUncaught Error: Syntax error, unrecognized expression
während$('#myDiv').append('/ This is Not HTML /')
funktionieren , indem Sie Text in das Zielelement anhängt.quelle
$elements.effect("highlight", {}, 2000);
nichteffects
.quelle
Eine kleine Anzeige , wenn Elemente dynamisch hinzugefügt werden, Funktionen wie
append()
,appendTo()
,prepend()
oderprependTo()
ein jQuery - Objekt zurückgeben, nicht das HTML - DOM - Element.DEMO
quelle
Ich denke, Sie könnten so etwas tun:
Die übergeordnete #parentId wird vom Anhang zurückgegeben. Fügen Sie daher eine Abfrage für jquery-Kinder hinzu, um das letzte eingefügte div-Kind einzufügen.
$ child ist dann das in jquery verpackte untergeordnete div, das hinzugefügt wurde.
quelle