Range.surroundContents()

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since March 2017.

La méthode Range.surroundContents() déplace le contenu du Range dans un nouveau nœud, plaçant le nouveau nœud au début du range spécifié.

Cette méthode est à peu près équivalente à :

js
newNode.appendChild(range.extractContents());
range.insertNode(newNode);

Après déplacement, les bornes du range incluent newNode.

Cependant, une exception sera levée si le Range découpe un nœud non-Text sur une seule de ses bornes. C'est-à-dire que, contrairement à l'alternative ci-dessus, s'il y a des nœuds partiellement sélectionnés, ils ne seront pas clonés ; à la place, l'opération échouera.

Syntaxe

js
range.surroundContents(newNode);

Paramètres

newNode

Un Node à insérer à l'emplacement du range.

Exemple

js
var range = document.createRange();
var newNode = document.createElement("p");

range.selectNode(document.getElementsByTagName("div").item(0));
range.surroundContents(newNode);

Spécifications

Specification
DOM Standard
# dom-range-surroundcontents

Compatibilité des navigateurs

BCD tables only load in the browser

Voir aussi