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
# dom-range-surroundcontents

Compatibilité des navigateurs

Report problems with this compatibility data on GitHub
desktopmobile
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
surroundContents

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support

Voir aussi