Диапазон
Базовая линия Широко доступна *
Эта функция хорошо отработана и работает на многих устройствах и версиях браузеров. Она доступна в браузерах с марта 2017 года.
* Некоторые части этой функции могут иметь различный уровень поддержки.
Интерфейс Range представляет фрагмент документа, который может содержать узлы и части текстовых узлов.
Диапазон можно создать, используя метод Document.createRange(). Объекты диапазона также можно получить, используя метод getRangeAt() объекта Selection или метод caretRangeFromPoint() объекта Document.
Также доступен конструктор Range().
Свойства экземпляра
Наследуемых свойств нет.
-
Range.collapsedТолько для чтения -
Возвращает логическое значение, указывающее, находятся ли начальная и конечная точки диапазона в одной позиции.
-
Range.commonAncestorContainerТолько для чтения -
Возвращает самый глубокий
Node, который содержит узлыstartContainerиendContainer. -
Range.endContainerТолько для чтения -
Возвращает
Node, в пределах которого заканчиваетсяRange. -
Range.endOffsetТолько для чтения -
Возвращает число, представляющее, где в
endContainerзаканчиваетсяRange. -
Range.startContainerТолько для чтения -
Возвращает
Node, в пределах которого начинаетсяRange. -
Range.startOffsetТолько для чтения -
Возвращает число, представляющее, где в
startContainerначинаетсяRange.
Конструктор
Методы экземпляра
Наследуемых методов нет.
Range.collapse()-
Сжимает
Rangeдо одной из его граничных точек. Range.compareBoundaryPoints()-
Сравнивает граничные точки
Rangeс другойRange. -
Range.compareNode()Устаревший Нестандартный -
Возвращает константу, представляющую, находится ли
Nodeперед, после, внутри или вокруг диапазона. Range.comparePoint()-
Возвращает -1, 0 или 1, указывая, предшествует ли точка, содержится ли она в или следует за
Range. Range.cloneContents()-
Возвращает
DocumentFragment, копируя узлыRange. Range.cloneRange()-
Возвращает объект
Rangeс граничными точками, идентичными клонированномуRange. Range.createContextualFragment()-
Возвращает
DocumentFragment, созданный из заданной строки кода. Range.deleteContents()-
Удаляет содержимое
RangeизDocument. Range.detach()-
Не выполняет никаких действий. Сохранено для совместимости.
Range.extractContents()-
Перемещает содержимое
Rangeиз дерева документа вDocumentFragment. Range.getBoundingClientRect()-
Возвращает объект
DOMRect, который ограничивает все содержимоеRange; это будет объединение всех прямоугольников, возвращаемых методомrange.getClientRects(). Range.getClientRects()-
Возвращает список объектов
DOMRect, которые агрегируют результатыElement.getClientRects()для всех элементов вRange. Range.isPointInRange()-
Возвращает
boolean, указывающее, находится ли данная точка вRange. Range.insertNode()-
Вставляет
Nodeв началеRange. Range.intersectsNode()-
Возвращает
boolean, указывающее, пересекает ли данный узелRange. Range.selectNode()-
Устанавливает
Rangeдля содержанияNodeи его содержимого. Range.selectNodeContents()-
Устанавливает
Rangeдля содержания содержимогоNode. Range.setEnd()-
Устанавливает конечную позицию
Range. Range.setStart()-
Устанавливает начальную позицию
Range. Range.setEndAfter()-
Устанавливает конечную позицию
Rangeотносительно другогоNode. Range.setEndBefore()-
Устанавливает конечную позицию
Rangeотносительно другогоNode. Range.setStartAfter()-
Устанавливает начальную позицию
Rangeотносительно другогоNode. Range.setStartBefore()-
Устанавливает начальную позицию
Rangeотносительно другогоNode. Range.surroundContents()-
Перемещает содержимое
Rangeв новыйNode. Range.toString()-
Возвращает текст
Range.
Спецификации
| Спецификация |
|---|
| DOM # interface-range |
| DOM Парсинг и Сериализация # extensions-to-the-range-interface |
| CSSOM View Модуль # extensions-to-the-range-interface |
Совместимость с браузерами
| Десктоп | Мобильные | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox для Android | Opera Android | Safari на IOS | Samsung Internet | WebView Android | |
Range |
29 | 15 | 24 | 16 | 8 | 29 | 24 | 16 | 8 | 2.0 | 4.4 |
|---|---|---|---|---|---|---|---|---|---|---|---|
Range |
1 | 12 | 1Начиная с Firefox 13, объектRange выбрасывает DOMException, как определено в DOM 4, вместо RangeException, определенного в предыдущих спецификациях. |
9 | 1 | 18 | 4Начиная с Firefox для Android 14, объектRange выбрасывает DOMException, как определено в DOM 4, вместо RangeException, определенного в предыдущих спецификациях. |
10.1 | 1 | 1.0 | 4.4 |
cloneContents |
1 | 12 | 1 | 9 | 1 | 18 | 4 | 10.1 | 1 | 1.0 | 4.4 |
cloneRange |
1 | 12 | 1 | 9 | 1 | 18 | 4 | 10.1 | 1 | 1.0 | 4.4 |
collapse |
1 | 12 | 1 | 9 | 1 | 18 | 4 | 10.1 | 1 | 1.0 | 4.4 |
collapsed |
1 | 12 | 1 | 9 | 1 | 18 | 4 | 10.1 | 1 | 1.0 | 4.4 |
commonAncestorContainer |
1 | 12 | 1 | 9 | 1 | 18 | 4 | 10.1 | 1 | 1.0 | 4.4 |
compareBoundaryPoints |
1 | 12 | 1 | 9 | 1 | 18 | 4 | 10.1 | 1 | 1.0 | 4.4 |
compareNode |
1–45 | Нет | 1–3 | 15–32 | 3 | 18–45 | Нет | 14–32 | 1 | 1.0–5.0 | 4.4–45 |
comparePoint |
1 | 17 | 1 | ≤12.1 | 3 | 18 | 4 | ≤12.1 | 1 | 1.0 | 4.4 |
createContextualFragment |
1 | 12 | 1 | ≤12.1 | 1 | 18 | 4 | ≤12.1 | 1 | 1.0 | 4.4 |
deleteContents |
1 | 12 | 1 | 9 | 1 | 18 | 4 | 10.1 | 1 | 1.0 | 4.4 |
detach |
1Начиная с Chrome 37, этот метод является no-op и не оказывает никакого влияния. |
12 | 1–15Начиная с Firefox 15.0, этот метод является no-op и не оказывает никакого влияния. |
9Начиная с Opera 24, этот метод является no-op и не оказывает никакого влияния. |
1Начиная с Safari 10, этот метод является no-op и не оказывает никакого влияния, см. ошибку 148454. |
18Начиная с Chrome Android 37, этот метод является no-op и не оказывает никакого влияния. |
4–15Начиная с Firefox для Android 15.0, этот метод является no-op и не оказывает никакого влияния. |
10.1Начиная с Opera 24, этот метод является no-op и не оказывает никакого влияния. |
1Начиная с Safari на iOS 10, этот метод является no-op и не оказывает никакого влияния, см. ошибку 148454. |
1.0Начиная с Samsung Internet 3.0, этот метод является no-op и не оказывает никакого влияния. |
4.4Начиная с WebView Android 37, этот метод является no-op и не оказывает никакого влияния. |
endContainer |
1 | 12 | 1 | 9 | 1 | 18 | 4 | 10.1 | 1 | 1.0 | 4.4 |
endOffset |
1 | 12 | 1 | 9 | 1 | 18 | 4 | 10.1 | 1 | 1.0 | 4.4 |
extractContents |
1 | 12 | 1 | 9 | 1 | 18 | 4 | 10.1 | 1 | 1.0 | 4.4 |
getBoundingClientRect |
4 | 12 | 4 | ≤12.1 | 5 | 18 | 4 | ≤12.1 | 4 | 1.0 | ≤37 |
getClientRects |
4 | 12 | 4 | ≤12.1 | 5 | 18 | 4 | ≤12.1 | 4 | 1.0 | ≤37 |
insertNode |
1 | 12 | 1 | 9 | 1 | 18 | 4 | 10.1 | 1 | 1.0 | 4.4 |
intersectsNode |
1 | 17 | 17 | ≤12.1 | 3 | 18 | 19 | ≤12.1 | 1 | 1.0 | 4.4 |
isPointInRange |
1 | 15 | 1 | ≤12.1 | 3 | 18 | 4 | ≤12.1 | 1 | 1.0 | 4.4 |
selectNode |
1 | 12 | 1 | 9 | 1 | 18 | 4 | 10.1 | 1 | 1.0 | 4.4 |
selectNodeContents |
1 | 12 | 1 | 9 | 1 | 18 | 4 | 10.1 | 1 | 1.0 | 4.4 |
setEnd |
1 | 12 | 1 | 9 | 1 | 18 | 4 | 10.1 | 1 | 1.0 | 4.4 |
|---|---|---|---|---|---|---|---|---|---|---|---|
setEndAfter |
1 | 12 | 1 | 9 | 1 | 18 | 4 | 10.1 | 1 | 1.0 | 4.4 |
setEndBefore |
1 | 12 | 1 | 9 | 1 | 18 | 4 | 10.1 | 1 | 1.0 | 4.4 |
setStart |
1 | 12 | 1 | 9 | 1 | 18 | 4 | 10.1 | 1 | 1.0 | 4.4 |
setStartAfter |
1 | 12 | 1 | 9 | 1 | 18 | 4 | 10.1 | 1 | 1.0 | 4.4 |
setStartBefore |
1 | 12 | 1 | 9 | 1 | 18 | 4 | 10.1 | 1 | 1.0 | 4.4 |
startContainer |
1 | 12 | 1 | 9 | 1 | 18 | 4 | 10.1 | 1 | 1.0 | 4.4 |
startOffset |
1 | 12 | 1 | 9 | 1 | 18 | 4 | 10.1 | 1 | 1.0 | 4.4 |
surroundContents |
1 | 12 | 1 | 9 | 1 | 18 | 4 | 10.1 | 1 | 1.0 | 4.4 |
toString |
1 | 12 | 1 | 9 | 1 | 18 | 4 | 10.1 | 1 | 1.0 | 4.4 |
См. также
© 2005–2024 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/Range