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