Range.surroundContents()

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

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

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

Синтаксис

range.surroundContents(newNode);

Параметры

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

Пример

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

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

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

Спецификация Статус Комментарий
DOM
Определение 'Range.surroundContents()' в этой спецификации.
Живой стандарт Без изменений.
Document Object Model (DOM) Level 2 Traversal and Range Specification
Определение 'Range.surroundContents()' в этой спецификации.
Устаревшая Начальная спецификация.

Совместимость

We're converting our compatibility data into a machine-readable JSON format. This compatibility table still uses the old format, because we haven't yet converted the data it contains. Find out how you can help!

Feature Chrome Firefox (Gecko) Internet Explorer Opera Safari
Basic support (Да) 1.0 (1.7 или ранее) [1] 9.0 9.0 (Да)
Feature Android Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
Basic support (Да) 1.0 (1.0) [1] 9.0 9.0 (Да)

[1] Firefox до версии 1.5, содержит ошибку, которая не позволяет отработать Range.surroundContents если начало и конец диапазона являются одним текстовым элементом (баг 135928).

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

Метки документа и участники

Внесли вклад в эту страницу: Xnoyer
Обновлялась последний раз: Xnoyer,