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