jQuery append() - retourne ajouté des éléments
Je suis en utilisant jQuery.append() ajouter certains éléments de façon dynamique. Est-il possible d'obtenir un jQuery collection ou un tableau de ces nouveaux éléments insérés?
Alors je veux faire ceci:
$("#myDiv").append(newHtml);
var newElementsAppended = //answer to the question I'm asking
newElementsAppended.effects("highlight", {}, 2000);
- double possible de moyen plus Facile d'obtenir un objet jQuery à partir ajouté l'élément
Vous devez vous connecter pour publier un commentaire.
Il y a un moyen plus simple de faire ceci:
Ce tourne autour de la création du premier
newHtml
avecjQuery(html [, ownerDocument ])
, puis à l'aide deappendTo(cible)
(notez le "To
" bit) à ajouter que, à la fin de#mydiv
.Car vous avez maintenant commencer avec
$(newHtml)
le résultat final deappendTo('#myDiv')
qui est à nouveau peu de html, et le.effects(...)
appel sera sur que nouveau peu de html aussi.appendTo
etprependTo
beaucoup plus que je n'ai jamais utiliserappend
etprepend
.effects
n'est pas une fonction... maiseffect
estnewHtml
n'est pas valide HTML ou valide d'un sélecteur jQuery:$('/ This is Not HTML /').appendTo('#myDiv')
résultats dansUncaught Error: Syntax error, unrecognized expression
tout$('#myDiv').append('/ This is Not HTML /')
fonctionne correctement par l'ajout de texte à l'élément cible.$elements.effect("highlight", {}, 2000);
, paseffects
.Un petit rappel, lorsque des éléments sont ajoutés de façon dynamique, les fonctions comme
append()
,appendTo()
,prepend()
ouprependTo()
renvoyer un objet jQuery, pas le HTML de l'élément DOM.DÉMO
Je pense que vous pourriez faire quelque chose comme ceci:
Le parent #parentId est retourné à partir de l'ajouter, il faut donc ajouter un jquery enfants de requête pour obtenir la dernière div enfant inséré.
$enfant est alors le jquery, enveloppé enfant div qui a été ajouté.