public interface Range
- 自从:
- 9、DOM 2级
-
字段摘要
字段修饰符和类型Field描述static final short
将sourceRange
的结束边界点与调用compareBoundaryPoints
的范围的结束边界点进行比较。static final short
比较sourceRange
的结束边界点与调用compareBoundaryPoints
的范围的开始边界点。static final short
将sourceRange
的起始边界点与调用compareBoundaryPoints
的范围的结束边界点进行比较。static final short
将sourceRange
的起始边界点与调用compareBoundaryPoints
的范围的起始边界点进行比较。 -
方法总结
修饰符和类型方法描述复制范围的内容生成一个新的范围,其边界点等于范围的边界点。void
collapse
(boolean toStart) 将范围折叠到其边界点之一short
compareBoundaryPoints
(short how, Range sourceRange) 比较文档中两个范围的边界点。void
从包含的文档或文档片段中删除 Range 的内容,而不返回对已删除内容的引用。void
detach()
调用以指示 Range 不再使用并且实现可能会放弃与此 Range 关联的任何资源。将 Range 的内容从包含文档或文档片段移动到新的 DocumentFragment。boolean
如果范围折叠则为 TRUERange 的两个边界点的最深公共祖先容器。范围结束的节点int
范围结束节点内的偏移量。范围开始的节点int
Range 起始节点内的偏移量。void
insertNode
(Node newNode) 在 Range 的开头将节点插入到 Document 或 DocumentFragment 中。void
selectNode
(Node refNode) 选择一个节点及其内容void
selectNodeContents
(Node refNode) 选择节点内的内容void
设置描述范围结束的属性。void
setEndAfter
(Node refNode) 将范围的结尾设置为在节点之后void
setEndBefore
(Node refNode) 将结束位置设置在节点之前。void
设置描述范围开始的属性。void
setStartAfter
(Node refNode) 将起始位置设置在节点之后void
setStartBefore
(Node refNode) 将起始位置设置为节点之前void
surroundContents
(Node newParent) 将 Range 的内容重新设置为给定节点,并将该节点插入到 Range 的开始位置。toString()
将 Range 的内容作为字符串返回。
-
字段详细信息
-
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
范围开始的节点- 抛出:
DOMException
- INVALID_STATE_ERR:如果已在此对象上调用detach()
则引发。
-
getStartOffset
Range 起始节点内的偏移量。- 抛出:
DOMException
- INVALID_STATE_ERR:如果已在此对象上调用detach()
则引发。
-
getEndContainer
范围结束的节点- 抛出:
DOMException
- INVALID_STATE_ERR:如果已在此对象上调用detach()
则引发。
-
getEndOffset
范围结束节点内的偏移量。- 抛出:
DOMException
- INVALID_STATE_ERR:如果已在此对象上调用detach()
则引发。
-
getCollapsed
如果范围折叠则为 TRUE- 抛出:
DOMException
- INVALID_STATE_ERR:如果已在此对象上调用detach()
则引发。
-
getCommonAncestorContainer
Range 的两个边界点的最深公共祖先容器。- 抛出:
DOMException
- INVALID_STATE_ERR:如果已在此对象上调用detach()
则引发。
-
setStart
设置描述范围开始的属性。- 参数:
refNode
-refNode
值。此参数必须不同于null
。offset
-startOffset
值。- 抛出:
RangeException
- INVALID_NODE_TYPE_ERR:如果refNode
或refNode
的祖先是实体、符号或文档类型节点,则引发。DOMException
- INDEX_SIZE_ERR:如果offset
为负数或大于refNode
中的子单元数则引发。如果refNode
是一种 CharacterData 节点(例如,Text 或 Comment 节点)或 ProcessingInstruction 节点,则子单元是 16 位单元。在所有其他情况下,子单元都是节点。
INVALID_STATE_ERR:如果已在此对象上调用了detach()
则引发。
WRONG_DOCUMENT_ERR:如果refNode
是从与创建此范围的文档不同的文档创建的,则引发。
-
setEnd
设置描述范围结束的属性。- 参数:
refNode
-refNode
值。此参数必须不同于null
。offset
-endOffset
值。- 抛出:
RangeException
- INVALID_NODE_TYPE_ERR:如果refNode
或refNode
的祖先是实体、符号或文档类型节点,则引发。DOMException
- INDEX_SIZE_ERR:如果offset
为负数或大于refNode
中的子单元数则引发。如果refNode
是一种 CharacterData 节点(例如,Text 或 Comment 节点)或 ProcessingInstruction 节点,则子单元是 16 位单元。在所有其他情况下,子单元都是节点。
INVALID_STATE_ERR:如果已在此对象上调用了detach()
则引发。
WRONG_DOCUMENT_ERR:如果refNode
是从与创建此范围的文档不同的文档创建的,则引发。
-
setStartBefore
将起始位置设置为节点之前- 参数:
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
将起始位置设置在节点之后- 参数:
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
将结束位置设置在节点之前。- 参数:
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
将范围的结尾设置为在节点之后- 参数:
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
将范围折叠到其边界点之一- 参数:
toStart
- 如果为 TRUE,则将范围折叠到其开头;如果为 FALSE,则将其折叠到最后。- 抛出:
DOMException
- INVALID_STATE_ERR:如果已在此对象上调用detach()
则引发。
-
selectNode
选择一个节点及其内容- 参数:
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
选择节点内的内容- 参数:
refNode
- 要从中选择的节点- 抛出:
RangeException
- INVALID_NODE_TYPE_ERR:如果refNode
或refNode
的祖先是实体、符号或文档类型节点,则引发。DOMException
- INVALID_STATE_ERR:如果已在此对象上调用detach()
则引发。
WRONG_DOCUMENT_ERR:如果refNode
是从与创建此范围的文档不同的文档创建的,则引发。
-
compareBoundaryPoints
比较文档中两个范围的边界点。- 参数:
how
- 代表比较类型的代码,如上定义。sourceRange
- 与当前Range
进行比较的Range
。- 返回:
-
-1、0 或 1,取决于 Range 的对应边界点分别是在
sourceRange
的对应边界点之前、等于还是之后。 - 抛出:
DOMException
- WRONG_DOCUMENT_ERR:如果两个范围不在同一个文档或文档片段中则引发。
INVALID_STATE_ERR:如果已在此对象上调用了detach()
则引发。
-
deleteContents
从包含的文档或文档片段中删除 Range 的内容,而不返回对已删除内容的引用。- 抛出:
DOMException
- NO_MODIFICATION_ALLOWED_ERR:如果范围内容的任何部分是只读的或包含范围任何内容的任何节点都是只读的,则引发。
INVALID_STATE_ERR:如果已在此对象上调用了detach()
则引发。
-
extractContents
将 Range 的内容从包含文档或文档片段移动到新的 DocumentFragment。- 返回:
- 包含提取内容的 DocumentFragment。
- 抛出:
DOMException
- NO_MODIFICATION_ALLOWED_ERR:如果范围内容的任何部分是只读的或包含范围任何内容的任何节点都是只读的,则引发。
HIERARCHY_REQUEST_ERR:如果将 DocumentType 节点提取到新的 DocumentFragment 中,则引发。
INVALID_STATE_ERR:如果已在此对象上调用了detach()
则引发。
-
cloneContents
复制范围的内容- 返回:
- 包含等效于此范围的内容的 DocumentFragment。
- 抛出:
DOMException
- HIERARCHY_REQUEST_ERR:如果将 DocumentType 节点提取到新的 DocumentFragment 中则引发。
INVALID_STATE_ERR:如果已在此对象上调用了detach()
则引发。
-
insertNode
在 Range 的开头将节点插入到 Document 或 DocumentFragment 中。如果容器是一个 Text 节点,这将在 Range 的开始处被拆分(就好像 Text 节点的 splitText 方法是在插入点执行的一样)并且插入将发生在两个结果 Text 节点之间。不会自动合并相邻的文本节点。如果要插入的节点是 DocumentFragment 节点,则将插入子节点而不是 DocumentFragment 节点本身。- 参数:
newNode
- 要在范围开头插入的节点- 抛出:
DOMException
- NO_MODIFICATION_ALLOWED_ERR:如果范围开头的祖先容器是只读的,则引发。
WRONG_DOCUMENT_ERR:如果newNode
和范围开头的容器不是从同一文档创建的,则引发。
HIERARCHY_REQUEST_ERR:如果 Range 起始容器的类型不允许newNode
类型的子代,或者newNode
是容器的祖先,则引发。
INVALID_STATE_ERR:如果已在此对象上调用了detach()
则引发。RangeException
- INVALID_NODE_TYPE_ERR:如果newNode
是 Attr、Entity、Notation 或 Document 节点则引发。
-
surroundContents
将 Range 的内容重新设置为给定节点,并将该节点插入到 Range 的开始位置。- 参数:
newParent
- 包围内容的节点。- 抛出:
DOMException
- NO_MODIFICATION_ALLOWED_ERR:如果范围的任一边界点的祖先容器是只读的,则引发。
WRONG_DOCUMENT_ERR:如果newParent
和范围开头的容器不是从同一文档创建的,则引发。
HIERARCHY_REQUEST_ERR:如果 Range 开头的容器属于不允许newParent
类型的子节点的类型,或者如果newParent
是容器的祖先,或者如果node
将以不允许类型的子节点结束按node
的类型。
INVALID_STATE_ERR:如果已在此对象上调用了detach()
则引发。RangeException
- BAD_BOUNDARYPOINTS_ERR:如果 Range 部分选择了非文本节点则引发。
INVALID_NODE_TYPE_ERR:如果node
是 Attr、Entity、DocumentType、Notation、Document 或 DocumentFragment 节点则引发。
-
cloneRange
生成一个新的范围,其边界点等于范围的边界点。- 返回:
- 重复的范围。
- 抛出:
DOMException
- INVALID_STATE_ERR:如果已在此对象上调用detach()
则引发。
-
toString
将 Range 的内容作为字符串返回。此字符串仅包含数据字符,不包含任何标记。- 重写:
toString
在类Object
中- 返回:
- 范围的内容。
- 抛出:
DOMException
- INVALID_STATE_ERR:如果已在此对象上调用detach()
则引发。
-
detach
调用以指示 Range 不再使用并且实现可能会放弃与此 Range 关联的任何资源。对该 Range 上的任何方法或属性 getter 的后续调用将导致DOMException
被抛出,错误代码为INVALID_STATE_ERR
。- 抛出:
DOMException
- INVALID_STATE_ERR:如果已在此对象上调用detach()
则引发。
-