--- title: ParentNode.append() slug: Web/API/ParentNode/append tags: - API - DOM - Reference translation_of: Web/API/ParentNode/append ---
La méthode ParentNode.append
insère un ensemble d’objets {{domxref("Node")}} ou {{domxref("DOMString")}} après le dernier enfant de ParentNode
. Les objets {{domxref("DOMString")}} (c’est-à-dire les chaînes de caractères) sont insérés comme nœuds {{domxref("Text")}} équivalents.
Différences avec {{domxref("Node.appendChild()")}} :
ParentNode.append()
vous permet également d’ajouter des objet {{domxref("DOMString")}}, tandis que Node.appendChild()
accepte seulement les objets {{domxref("Node")}}.ParentNode.append()
n’a pas de valeur de retour, tandis que Node.appendChild()
retourne l’objet {{domxref("Node")}} ajouté.ParentNode.append()
peut ajouter plusieurs nœuds et chaînes, alors queNode.appendChild()
peut seulement ajouter un nœud.[Throws, Unscopable] void ParentNode.append((Node or DOMString)... nodes);
nodes
var parent = document.createElement("div"); var p = document.createElement("p"); parent.append(p); console.log(parent.childNodes); // NodeList [ <p> ]
var parent = document.createElement("div"); parent.append("Du texte"); console.log(parent.textContent); // "Du texte"
var parent = document.createElement("div"); var p = document.createElement("p"); parent.append("Du texte", p); console.log(parent.childNodes); // NodeList [ #text "Du texte", <p> ]
ParentNode.append()
est unscopableLa méthode append()
n’est pas accessible dans un bloc with
. Voir {{jsxref("Symbol.unscopables")}} pour plus d’information.
var parent = document.createElement("div"); with(parent) { append("foo"); } // ReferenceError: append is not defined
Vous pouvez utiliser la méthode append()
dans Internet Explorer 9 (et supérieur) avec le code suivant :
// Source: https://github.com/jserz/js_piece/blob/master/DOM/ParentNode/append()/append().md (function (arr) { arr.forEach(function (item) { if (item.hasOwnProperty('append')) { return; } Object.defineProperty(item, 'append', { configurable: true, enumerable: true, writable: true, value: function append() { var argArr = Array.prototype.slice.call(arguments), docFrag = document.createDocumentFragment(); argArr.forEach(function (argItem) { var isNode = argItem instanceof Node; docFrag.appendChild(isNode ? argItem : document.createTextNode(String(argItem))); }); this.appendChild(docFrag); } }); }); })([Element.prototype, Document.prototype, DocumentFragment.prototype]);
Spécification | Statut | Commentaire |
---|---|---|
{{SpecName('DOM WHATWG', '#dom-parentnode-append', 'ParentNode.append()')}} | {{Spec2('DOM WHATWG')}} | Définition initiale. |
{{Compat("api.ParentNode.append")}}