Range
=====

**`Range(диапазон)`** интерфейс предоставляет фрагмент документа который может содержать узлы и части текстовых узлов данного документа.

Range может быть создан с помощью метода `createRange`, у объекта `Document`. Или объект Range можно получить с помощью метода `getRangeAt`, у объекта `Selection` (en-US). А также с помощью конструктора `Range()` (en-US).

Свойства
--------

Нет унаследованных свойств.

**`Range.collapsed` Только для чтения** 
 Возвращает `Boolean` (en-US) указывающий, находятся ли начало и конец диапазона
 на одной и той же позиции.

`Range.startContainer` (en-US) Только для чтения 

Возвращает `Node` внутри которого `Range` начинается.

`Range.endContainer` (en-US) Только для чтения 

Возвращает `Node` внутри которого `Range` заканчивается .

`Range.commonAncestorContainer` (en-US) Только для чтения 

Возвращает самый глубокий `Node` который содержит узлы `startContainer` и `endContainer`.

`Range.endOffset` (en-US) Только для чтения 

Возвращает число равное расположению `endContainer` в `Range` .

`Range.startOffset` (en-US) Только для чтения 

Returns a number representing where in the `startContainer` the `Range` starts.

Конструктор
-----------

`Range()` (en-US) 
Экспериментальная возможность

Возвращают объект `Range` с глобальным `Document` как начало и конец.

Методы
------

*Не имеют унаследованных свойств.*

`Range.setStart()` (en-US)

Назначают начальную позицию `Range`.

`Range.setEnd()` (en-US)

Назначает конечную позицию `Range`.

`Range.setStartBefore()` (en-US)

Устанавливает начальную позицию `Range` относительно другого `Node` пред ним.

`Range.setStartAfter()` (en-US)

Устанавливает начальную позицию `Range` относительно другого `Node` после него.

`Range.setEndBefore()` (en-US)

Устанавливает конечную позицию `Range` относительно другого `Node` перед ним.

`Range.setEndAfter()` (en-US)

Устанавливает конечную позицию `Range` относительно другого `Node` после него.

`Range.selectNode()` (en-US)

Выбирает `Range` to содержащий `Node` и его контент.

`Range.selectNodeContents()` (en-US)

Выбирает `Range` содержащий контент `Node`.

`Range.collapse()` (en-US)

Схлопывает `Range` до одной из граничных точек.

`Range.cloneContents()` (en-US)

Возвращает `DocumentFragment` содержащийся в узле `Range`.

`Range.deleteContents()` (en-US)

Удаляет содержимое `Range` из`Document`.

`Range.extractContents()` (en-US)

Переносит содержимое `Range` из дерева документа в `DocumentFragment`.

`Range.insertNode()` (en-US)

Вставляет a `Node` в начало `Range`.

`Range.surroundContents()`

Переносит содержимое `Range` в новый `Node`.

`Range.compareBoundaryPoints()` (en-US)

Сравнивает граничные точки `Range` с другим `Range`.

`Range.cloneRange()` (en-US)

Возвращает объект из `Range` с граничными точками идентичными клонированному `Range`.

`Range.detach()` (en-US)

`Освобождает Range` от использования для улучшения производительности .

`Range.toString()` (en-US)

Возвращает текст в `Range`.

`Range.compareNode()` (en-US) 
Non-standard

Возвращает константу, представляющую, находится ли `Node` до, после, внутри или вокруг range.

`Range.comparePoint()` (en-US) 
Экспериментальная возможность

Возвращает -1, 0, или 1 в зависимости от того, находиться ли referenceNode перед, внутри, или после `Range`.

`Range.createContextualFragment()` (en-US)
Экспериментальная возможность

Возвращает `DocumentFragment` созданный из полученной строки с кодом.

`Range.getBoundingClientRect()` 
Экспериментальная возможность

Возвращает объект `ClientRect` object which bounds the entire contents of the `Range`; this would be the union of all the rectangles returned by `range.getClientRects()` (en-US).

`Range.getClientRects()` (en-US) 
Экспериментальная возможность

Returns a list of `ClientRect` objects that aggregates the results of `Element.getClientRects()` (en-US) for all the elements in the `Range`.

`Range.intersectsNode()` (en-US) 
Экспериментальная возможность

Возвращает `boolean` указывающий, пересекает ли данный узел `Range`.

`Range.isPointInRange()` (en-US) 
Экспериментальная возможность

Returns a `boolean` indicating whether the given point is in the `Range`.

Specifications
--------------

| Specification |
| --- |
| DOM Standard # interface-range |
| DOM Parsing and Serialization # extensions-to-the-range-interface |
| CSSOM View Module # extensions-to-the-range-interface |

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

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

See also
--------

* The DOM interfaces index