--- title: ChildNode.replaceWith() slug: orphaned/Web/API/ChildNode/replaceWith tags: - API - DOM - Méthodes - Noeuds - Reference translation_of: Web/API/ChildNode/replaceWith original_slug: Web/API/ChildNode/replaceWith ---
ChildNode.replaceWith() remplace ce ChildNode de la liste des enfants de son parent par un ensemble d'objets {{domxref("Node")}} (noeud) ou {{domxref("DOMString")}} (chaîne de caractères).[Throws, Unscopable] void ChildNode.replaceWith((Node ou DOMString)... nodes);
nodesreplaceWith()var parent = document.createElement("div");
var enfant = document.createElement("p");
parent.appendChild(enfant);
var span = document.createElement("span");
enfant.replaceWith(span);
console.log(parent.outerHTML);
// "<div><span></span></div>"
ChildNode.replaceWith() n'est pas accessibleLa méthode replaceWith() n'est pas comprise dans une instruction with. Voir {{jsxref("Symbol.unscopables")}} pour plus d'informations.
with(node) {
replaceWith("foo");
}
// ReferenceError: replaceWith n'est pas défini
Vous pouvez utiliser une prothèse d'émulation pour la méthode replaceWith() pour Internet Explorer 10 et plus avec le code suivant :
function ReplaceWith(Ele) {
'use-strict'; // For safari, and IE > 10
var parent = this.parentNode,
i = arguments.length,
firstIsNode = +(parent && typeof Ele === 'object');
if (!parent) return;
while (i-- > firstIsNode){
if (parent && typeof arguments[i] !== 'object'){
arguments[i] = document.createTextNode(arguments[i]);
} if (!parent && arguments[i].parentNode){
arguments[i].parentNode.removeChild(arguments[i]);
continue;
}
parent.insertBefore(this.previousSibling, arguments[i]);
}
if (firstIsNode) parent.replaceChild(Ele, this);
}
if (!Element.prototype.replaceWith)
Element.prototype.replaceWith = ReplaceWith;
if (!CharacterData.prototype.replaceWith)
CharacterData.prototype.replaceWith = ReplaceWith;
if (!DocumentType.prototype.replaceWith)
DocumentType.prototype.replaceWith = ReplaceWith;
| Spécification | État | Commentaire |
|---|---|---|
| {{SpecName('DOM WHATWG', '#dom-childnode-replacewith', 'ChildNode.replacewith()')}} | {{Spec2('DOM WHATWG')}} | Définition initiale. |
{{Compat("api.ChildNode.replaceWith")}}