Estoy usando jQuery.append () para agregar algunos elementos dinámicamente. ¿Hay alguna forma de obtener una colección jQuery o una matriz de estos elementos recién insertados?
Entonces quiero hacer esto:
$("#myDiv").append(newHtml);
var newElementsAppended = // answer to the question I'm asking
newElementsAppended.effects("highlight", {}, 2000);
Respuestas:
Hay una manera más simple de hacer esto:
Esto cambia las cosas creando primero
newHtml
conjQuery(html [, ownerDocument ])
, y luego usandoappendTo(target)
(observe elTo
bit " ") para agregarlo al final de#mydiv
.Porque ahora comienza con
$(newHtml)
el resultado final deappendTo('#myDiv')
ese nuevo bit de html, y la.effects(...)
llamada también estará en ese nuevo bit de html.fuente
effects
es una función ... pero sí loeffect
esnewHtml
no es HTML válido o un selector jQuery válido:$('/ This is Not HTML /').appendTo('#myDiv')
resultaUncaught Error: Syntax error, unrecognized expression
mientras$('#myDiv').append('/ This is Not HTML /')
funciona correctamente agregando texto al elemento de destino.fuente
$elements.effect("highlight", {}, 2000);
, noeffects
.fuente
Un pequeño recordatorio , cuando se añaden elementos dinámicamente, funciones como
append()
,appendTo()
,prepend()
oprependTo()
devolver un objeto jQuery, no el elemento HTML DOM.MANIFESTACIÓN
fuente
Creo que podrías hacer algo como esto:
El padre #parentId se devuelve desde el anexo, así que agregue una consulta jquery children para obtener el último hijo div insertado.
$ child es entonces el div jquery wrap child que se agregó.
fuente