Интерфейс Range
public interface Range
См. также Спецификацию DOM Level 2 Traversal и Range.
- Since:
- 9, DOM Level 2
Краткое описание полей
| Модификатор и тип | Поле | Описание |
|---|---|---|
static final short |
END_TO_END |
Сравнение конечной граничной точки sourceRange с конечной граничной точкой области, на которой вызывается compareBoundaryPoints. |
static final short |
END_TO_START |
Сравнение конечной граничной точки sourceRange с начальной граничной точкой области, на которой вызывается compareBoundaryPoints. |
static final short |
START_TO_END |
Сравнение начальной граничной точки sourceRange с конечной граничной точкой области, на которой вызывается compareBoundaryPoints. |
static final short |
START_TO_START |
Сравнение начальной граничной точки sourceRange с начальной граничной точкой области, на которой вызывается compareBoundaryPoints. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
DocumentFragment |
cloneContents() |
Дублирует содержимое области |
Range |
cloneRange() |
Создает новую область, граничные точки которой равны граничным точкам исходной области. |
void |
collapse |
Сворачивает область к одной из её граничных точек |
short |
compareBoundaryPoints |
Сравнивает граничные точки двух областей в документе. |
void |
deleteContents() |
Удаляет содержимое области из содержащего документа или фрагмента документа без возвращения ссылки на удалённое содержимое. |
void |
detach() |
Вызывается для указания, что область больше не используется, и реализация может освободить ресурсы, связанные с этой областью. |
DocumentFragment |
extractContents() |
Перемещает содержимое области из содержащего документа или фрагмента документа в новый DocumentFragment. |
boolean |
getCollapsed() |
Истина, если область свернута. |
Node |
getCommonAncestorContainer() |
Самый глубокий общий предковый контейнер двух граничных точек области. |
Node |
getEndContainer() |
Узел, на котором заканчивается область. |
int |
getEndOffset() |
Смещение в узле завершения области. |
Node |
getStartContainer() |
Узел, с которого начинается область. |
int |
getStartOffset() |
Смещение в узле начала области. |
void |
insertNode |
Вставляет узел в документ или фрагмент документа в начале области. |
void |
selectNode |
Выделение узла и его содержимого |
void |
selectNodeContents |
Выделение содержимого внутри узла |
void |
setEnd |
Устанавливает атрибуты, описывающие конец области. |
void |
setEndAfter |
Устанавливает конец области после узла. |
void |
setEndBefore |
Устанавливает позицию конца перед узлом. |
void |
setStart |
Устанавливает атрибуты, описывающие начало области. |
void |
setStartAfter |
Устанавливает начало области после узла. |
void |
setStartBefore |
Устанавливает начальную позицию перед узлом. |
void |
surroundContents |
Перемещает содержимое области в указанный узел и вставляет этот узел в позицию начала области. |
String |
toString() |
Возвращает содержимое области в виде строки. |
Подробное описание полей
START_TO_START
static final short START_TO_START
Сравните начальную границу
sourceRange с начальной границей диапазона, на котором вызван compareBoundaryPoints. - См. также:
START_TO_END
static final short START_TO_END
Сравните начальную границу
sourceRange с конечной границей диапазона, на котором вызван compareBoundaryPoints.- См. также:
END_TO_END
static final short END_TO_END
Сравните конечную границу
sourceRange с конечной границей диапазона, на котором вызван compareBoundaryPoints.- См. также:
END_TO_START
static final short END_TO_START
Сравните конечную границу
sourceRange с начальной границей диапазона, на котором вызван compareBoundaryPoints.- См. также:
Подробное описание методов
getStartContainer
Node getStartContainer() throws DOMException
Узел, в котором начинается диапазон
- Возвращает:
-
DOMException- INVALID_STATE_ERR: Вызвано, еслиdetach()уже был вызван для этого объекта.
getStartOffset
int getStartOffset() throws DOMException
Смещение внутри начального узла диапазона.
- Возвращает:
-
DOMException- INVALID_STATE_ERR: Вызвано, еслиdetach()уже был вызван для этого объекта.
getEndContainer
Node getEndContainer() throws DOMException
Узел, в котором заканчивается диапазон
- Возвращает:
-
DOMException- INVALID_STATE_ERR: Вызвано, еслиdetach()уже был вызван для этого объекта.
getEndOffset
int getEndOffset() throws DOMException
Смещение внутри конечного узла диапазона.
- Возвращает:
-
DOMException- INVALID_STATE_ERR: Вызвано, еслиdetach()уже был вызван для этого объекта.
getCollapsed
boolean getCollapsed() throws DOMException
Истина, если диапазон свёрнут
- Возвращает:
-
DOMException- INVALID_STATE_ERR: Вызвано, еслиdetach()уже был вызван для этого объекта.
getCommonAncestorContainer
Node getCommonAncestorContainer() throws DOMException
Самый глубокий общий родительский узел для двух граничных точек диапазона.
- Возвращает:
-
DOMException- INVALID_STATE_ERR: Вызвано, еслиdetach()уже был вызван для этого объекта.
setStart
void setStart(Node refNode, int offset) throws RangeException, DOMException
Устанавливает атрибуты, описывающие начало диапазона.
- Параметры:
-
refNode- Значение дляrefNode. Это значение должно отличаться отnull. -
offset- Значение дляstartOffset. - Исключение:
-
RangeException- INVALID_NODE_TYPE_ERR: Вызвано, еслиrefNodeили его предки являются узлами Entity, Notation или DocumentType. -
DOMException- INDEX_SIZE_ERR: Вызвано, еслиoffsetотрицательно или больше, чем количество дочерних элементов вrefNodeДочерние элементы — это 16-битные единицы, еслиrefNodeявляется узлом CharacterData (например, Text или Comment) или ProcessingInstruction. В остальных случаях — это узлы.
INVALID_STATE_ERR: Вызвано, еслиdetach()уже был вызван для этого объекта.
WRONG_DOCUMENT_ERR: Вызвано, еслиrefNodeбыл создан из другого документа, нежели тот, который создал этот диапазон.
setEnd
void setEnd(Node refNode, int offset) throws RangeException, DOMException
Устанавливает атрибуты, описывающие конец диапазона.
- Параметры:
-
refNode- Значение дляrefNode. Это значение должно отличаться отnull. -
offset- Значение дляendOffset. - Исключение:
-
RangeException- INVALID_NODE_TYPE_ERR: Вызвано, еслиrefNodeили его предки являются узлами Entity, Notation или DocumentType. -
DOMException- INDEX_SIZE_ERR: Вызвано, еслиoffsetотрицательно или больше, чем количество дочерних элементов вrefNodeДочерние элементы — это 16-битные единицы, еслиrefNodeявляется узлом CharacterData (например, Text или Comment) или ProcessingInstruction. В остальных случаях — это узлы.
INVALID_STATE_ERR: Вызвано, еслиdetach()уже был вызван для этого объекта.
WRONG_DOCUMENT_ERR: Вызвано, еслиrefNodeбыл создан из другого документа, нежели тот, который создал этот диапазон.
setStartBefore
void setStartBefore(Node refNode) throws RangeException, DOMException
Устанавливает начальную позицию перед узлом
- Параметры:
-
refNode- Диапазон начинается передrefNode - Исключение:
-
RangeException- INVALID_NODE_TYPE_ERR: Вызвано, если корневой контейнерrefNodeне является узлом Attr, Document или DocumentFragment, или еслиrefNodeявляется узлом Document, DocumentFragment, Attr, Entity или Notation. -
DOMException- INVALID_STATE_ERR: Вызвано, еслиdetach()уже был вызван для этого объекта.
WRONG_DOCUMENT_ERR: Вызвано, еслиrefNodeбыл создан из другого документа, нежели тот, который создал этот диапазон.
setStartAfter
void setStartAfter(Node refNode) throws RangeException, DOMException
Устанавливает начальную позицию после узла
- Параметры:
-
refNode- Диапазон начинается послеrefNode - Исключение:
-
RangeException- INVALID_NODE_TYPE_ERR: Вызвано, если корневой контейнерrefNodeне является узлом Attr, Document или DocumentFragment, или еслиrefNodeявляется узлом Document, DocumentFragment, Attr, Entity или Notation. -
DOMException- INVALID_STATE_ERR: Вызвано, еслиdetach()уже был вызван для этого объекта.
WRONG_DOCUMENT_ERR: Вызвано, еслиrefNodeбыл создан из другого документа, нежели тот, который создал этот диапазон.
setEndBefore
void setEndBefore(Node refNode) throws RangeException, DOMException
Устанавливает конечную позицию перед узлом.
- Параметры:
-
refNode- Диапазон заканчивается передrefNode - Исключение:
-
RangeException- INVALID_NODE_TYPE_ERR: Вызвано, если корневой контейнерrefNodeне является узлом Attr, Document или DocumentFragment, или еслиrefNodeявляется узлом Document, DocumentFragment, Attr, Entity или Notation. -
DOMException- INVALID_STATE_ERR: Вызвано, еслиdetach()уже был вызван для этого объекта.
WRONG_DOCUMENT_ERR: Вызвано, еслиrefNodeбыл создан из другого документа, нежели тот, который создал этот диапазон.
setEndAfter
void setEndAfter(Node refNode) throws RangeException, DOMException
Устанавливает конец диапазона после узла
- Параметры:
-
refNode- Диапазон заканчивается послеrefNode. - Исключение:
-
RangeException- INVALID_NODE_TYPE_ERR: Вызвано, если корневой контейнерrefNodeне является узлом Attr, Document или DocumentFragment, или еслиrefNodeявляется узлом Document, DocumentFragment, Attr, Entity или Notation. -
DOMException- INVALID_STATE_ERR: Вызвано, еслиdetach()уже был вызван для этого объекта.
WRONG_DOCUMENT_ERR: Вызвано, еслиrefNodeбыл создан из другого документа, нежели тот, который создал этот диапазон.
collapse
void collapse(boolean toStart) throws DOMException
Свёртывание диапазона на одну из его граничных точек
- Параметры:
-
toStart- Если TRUE, диапазон сворачивается на начальную точку; если FALSE, на конечную. - Исключение:
-
DOMException- INVALID_STATE_ERR: Вызвано, еслиdetach()уже был вызван для этого объекта.
selectNode
void selectNode(Node refNode) throws RangeException, DOMException
Выбор узла и его содержимого
- Параметры:
-
refNode- Узел для выбора. - Исключение:
-
RangeException- INVALID_NODE_TYPE_ERR: Вызвано, если предокrefNodeявляется узлом Entity, Notation или DocumentType, или еслиrefNodeявляется узлом Document, DocumentFragment, Attr, Entity или Notation. -
DOMException- INVALID_STATE_ERR: Вызвано, еслиdetach()уже был вызван для этого объекта.
WRONG_DOCUMENT_ERR: Вызвано, еслиrefNodeбыл создан из другого документа, нежели тот, который создал этот диапазон.
selectNodeContents
void selectNodeContents(Node refNode) throws RangeException, DOMException
Выбор содержимого узла
- Параметры:
-
refNode- Узел для выбора - Исключения:
-
RangeException- INVALID_NODE_TYPE_ERR: Выбрасывается, еслиrefNodeили предшественникrefNodeявляется узлом сущности, обозначения или типа документа. -
DOMException- INVALID_STATE_ERR: Выбрасывается, еслиdetach()уже вызывался для этого объекта.
WRONG_DOCUMENT_ERR: Выбрасывается, еслиrefNodeбыл создан из другого документа, чем тот, который создал этот диапазон.
compareBoundaryPoints
short compareBoundaryPoints(short how, Range sourceRange) throws DOMException
Сравнение граничных точек двух диапазонов в документе.
- Параметры:
-
how- Код, представляющий тип сравнения, как определено выше. -
sourceRange-Range, с которым сравнивается текущийRange. - Возвращает:
- -1, 0 или 1 в зависимости от того, находится ли соответствующая граничная точка диапазона соответственно до, равна или после соответствующей граничной точки
sourceRange. - Исключения:
-
DOMException- WRONG_DOCUMENT_ERR: Выбрасывается, если два диапазона не находятся в одном документе или фрагменте документа.
INVALID_STATE_ERR: Выбрасывается, еслиdetach()уже вызывался для этого объекта.
deleteContents
void deleteContents() throws DOMException
Удаляет содержимое диапазона из содержащего документа или фрагмента документа без возврата ссылки на удаленное содержимое.
- Исключения:
-
DOMException- NO_MODIFICATION_ALLOWED_ERR: Выбрасывается, если какая-либо часть содержимого диапазона является только для чтения или любой из узлов, содержащих какое-либо содержимое диапазона, является только для чтения.
INVALID_STATE_ERR: Выбрасывается, еслиdetach()уже вызывался для этого объекта.
extractContents
DocumentFragment extractContents() throws DOMException
Перемещает содержимое диапазона из содержащего документа или фрагмента документа в новый фрагмент документа.
- Возвращает:
- Фрагмент документа, содержащий извлеченное содержимое.
- Исключения:
-
DOMException- NO_MODIFICATION_ALLOWED_ERR: Выбрасывается, если какая-либо часть содержимого диапазона является только для чтения или любой из узлов, содержащих какое-либо содержимое диапазона, является только для чтения.
HIERARCHY_REQUEST_ERR: Выбрасывается, если узел типа DocumentType будет извлечен в новый фрагмент документа.
INVALID_STATE_ERR: Выбрасывается, еслиdetach()уже вызывался для этого объекта.
cloneContents
DocumentFragment cloneContents() throws DOMException
Создает дубликат содержимого диапазона
- Возвращает:
- Фрагмент документа, содержащий содержимое, эквивалентное этому диапазону.
- Исключения:
-
DOMException- HIERARCHY_REQUEST_ERR: Выбрасывается, если узел типа DocumentType будет извлечен в новый фрагмент документа.
INVALID_STATE_ERR: Выбрасывается, еслиdetach()уже вызывался для этого объекта.
insertNode
void insertNode(Node newNode) throws DOMException, RangeException
Вставляет узел в документ или фрагмент документа в начале диапазона. Если контейнер — узел Text, он будет разделен в начале диапазона (как если бы метод splitText узла Text был выполнен в точке вставки), и вставка произойдет между двумя получившимися узлами Text. Соседние узлы Text не будут автоматически объединены. Если вставляемый узел — узел DocumentFragment, вставляются его дети, а не сам узел DocumentFragment.
- Параметры:
-
newNode- Узел для вставки в начало диапазона - Исключения:
-
DOMException- NO_MODIFICATION_ALLOWED_ERR: Выбрасывается, если какой-либо родительский контейнер начала диапазона — только для чтения.
WRONG_DOCUMENT_ERR: Выбрасывается, еслиnewNodeи контейнер начала диапазона не были созданы из одного документа.
HIERARCHY_REQUEST_ERR: Выбрасывается, если контейнер начала диапазона — типа, не допускающего детей указанного типаnewNode, или еслиnewNodeявляется предком контейнера.
INVALID_STATE_ERR: Выбрасывается, еслиdetach()уже вызывался для этого объекта. -
RangeException- INVALID_NODE_TYPE_ERR: Выбрасывается, еслиnewNode— узел Attr, Entity, Notation или Document.
surroundContents
void surroundContents(Node newParent) throws DOMException, RangeException
Перемещает содержимое диапазона в указанный узел и вставляет узел в позицию начала диапазона.
- Параметры:
-
newParent- Узел, которым будет окружено содержимое. - Исключения:
-
DOMException- NO_MODIFICATION_ALLOWED_ERR: Выбрасывается, если какой-либо родительский контейнер любой граничной точки диапазона — только для чтения.
WRONG_DOCUMENT_ERR: Выбрасывается, еслиnewParentи контейнер начала диапазона не были созданы из одного документа.
HIERARCHY_REQUEST_ERR: Выбрасывается, если контейнер начала диапазона — типа, не допускающего детей указанного типаnewParent, или еслиnewParent— предок контейнера, или еслиnodeполучит дочерний узел неразрешенного типа для типаnode.
INVALID_STATE_ERR: Выбрасывается, еслиdetach()уже вызывался для этого объекта. -
RangeException- BAD_BOUNDARYPOINTS_ERR: Выбрасывается, если диапазон частично выбирает узел, не являющийся текстовым.
INVALID_NODE_TYPE_ERR: Выбрасывается, еслиnode— узел Attr, Entity, DocumentType, Notation, Document или DocumentFragment.
cloneRange
Range cloneRange() throws DOMException
Создаёт новый диапазон, граничные точки которого равны граничным точкам текущего диапазона.
- Возвращает:
- Дублированный диапазон.
- Исключения:
-
DOMException- INVALID_STATE_ERR: Выбрасывается, еслиdetach()уже вызывался для этого объекта.
toString
String toString() throws DOMException
Возвращает содержимое диапазона в виде строки. Эта строка содержит только символы данных, а не любые теги разметки.
- Переопределяет:
-
toStringв классеObject - Возвращает:
- Содержимое диапазона.
- Исключения:
-
DOMException- INVALID_STATE_ERR: Выбрасывается, еслиdetach()уже вызывался для этого объекта.
detach
void detach() throws DOMException
Указывает, что диапазон больше не используется, и реализация может высвободить любые ресурсы, связанные с этим диапазоном. Последующие вызовы методов или получения атрибутов этого диапазона приведут к выбрасыванию
DOMException с кодом ошибки INVALID_STATE_ERR. - Исключения:
-
DOMException- INVALID_STATE_ERR: Выбрасывается, еслиdetach()уже вызывался для этого объекта.
© 1993, 2023, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/21/docs/api/java.xml/org/w3c/dom/ranges/Range.html