Cette page a été traduite à partir de l'anglais par la communauté. Vous pouvez contribuer en rejoignant la communauté francophone sur MDN Web Docs.

View in English Always switch to English

Range.surroundContents()

Baseline Widely available

Cette fonctionnalité est bien établie et fonctionne sur de nombreux appareils et versions de navigateurs. Elle est disponible sur tous les navigateurs depuis ⁨juillet 2015⁩.

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

Voir aussi