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.

Метод Range.surroundContents() перемещает содержимое Range в новый элемент, который расположится в начале указанного диапазона.

Этот метод приблизительно эквивалентен коду newNode.appendChild(range.extractContents()); range.insertNode(newNode). После его работы крайние точки диапазона будут включать в себя newNode.

Если Range разделяет любой не текстовый элемент хотя бы одной точкой, произойдёт исключение. В отличие от альтернативы выше, если в диапазоне есть частично выделенные элементы, они не будут клонированы, а вместо этого производит ошибка.

Синтаксис

range.surroundContents(newNode);

Параметры

newNode

Элемент который будет содержать в себе выделенный текст.

Пример

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

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

Спецификации

Specification
DOM Standard
# dom-range-surroundcontents

Совместимость с браузерами

BCD tables only load in the browser

Смотрите также