ChildNode.replaceWith()


La m√©thode ChildNode.replaceWith() remplace ce ChildNode de la liste des enfants de son parent par un ensemble d'objets Node (noeud) ou DOMString (cha√ģne de caract√®res).
Les objets DOMString sont ins√©r√©s en tant que noeuds Text.

Syntaxe

[Throws, Unscopable]
void ChildNode.replaceWith((Node ou DOMString)... nodes);

Paramètres

nodes
Un ensemble d'objets Node (noeud) ou DOMString (cha√ģne de caract√®res) √† remplacer.

Exceptions

  • HierarchyRequestError : Le noeud ne peut pas √™tre ins√©r√© au point sp√©cifi√© dans la hi√©rarchie.

Exemples

Utilisation de replaceWith()

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 accessible

La m√©thode replaceWith() n'est pas comprise dans une instruction with. Voir Symbol.unscopables pour plus d'informations.

with(node) {
  replaceWith("foo");
}
// ReferenceError: replaceWith n'est pas défini 

Prothèse d'émulation

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

Sp√©cification √Čtat Commentaire
DOM
La définition de 'ChildNode.replacewith()' dans cette spécification.
Standard évolutif Définition initiale.

Compatibilité des navigateurs

No compatibility data found for api.ChildNode.replaceWith.
Check for problems with this page or contribute missing data to mdn/browser-compat-data.

Voir aussi