185 votes

jQuery append () - retourne les éléments ajoutés

J'utilise jQuery.append () pour ajouter des éléments dynamiquement. Est-il possible d'obtenir une collection jQuery ou un tableau de ces éléments nouvellement insérés?

Donc je veux faire ça:

 $("#myDiv").append(newHtml);
var newElementsAppended = // answer to the question I'm asking
newElementsAppended.effects("highlight", {}, 2000);
 

259voto

SLaks Points 391154

Il existe un moyen plus simple de le faire:

 $(newHtml).appendTo('#myDiv').effects(...);
 

40voto

karim79 Points 178055
// wrap it in jQuery, now it's a collection
var $elements = $(someHTML);

// append to the DOM
$("#myDiv").append($elements);

// do stuff, using the initial reference
$elements.effects("highlight", {}, 2000);

30voto

TiuTalk Points 3797
var newElementsAppended = $(newHtml).appendTo("#myDiv");
newElementsAppended.effects("highlight", {}, 2000);

10voto

iim.hlk Points 1299

Un petit rappel , lorsque des éléments sont ajoutés dynamiquement, fonctionne comme append() , appendTo() , prepend() ou prependTo() renvoie un objet jQuery, pas le Élément DOM HTML.

DEMO

 var container=$("div.container").get(0),
    htmlA="<div class=children>A</div>",
    htmlB="<div class=children>B</div>";

// jQuery object
alert( $(container).append(htmlA) ); // outputs "[object Object]"

// HTML DOM element
alert( $(container).append(htmlB).get(0) ); // outputs "[object HTMLDivElement]"
 

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X