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()' в этой спецификации.
Рекомендация Начальная спецификация.

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

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,