- Range 接口表示一个包含节点与文本节点的一部分的文档片段。
- 可以使用 Document.createRange 方法创建 Range。也可以用 Selection 对象的 getRangeAt() 方法或者 Document 对象的 caretRangeFromPoint() 方法获取 Range 对象
构造函数 |
说明 |
Range() |
创建一个 Range 对象 |
- Range 对象有以下属性:
属性 |
说明 |
状态 |
collapsed |
返回一个表示 Range 的起始位置和终止位置是否相同的布尔值 |
只读 |
commonAncestorContainer |
返回完整包含 startContainer 和 endContainer 的、最深一级的节点 |
只读 |
endContainer |
返回包含 Range 终点的节点 |
只读 |
endOffset |
返回一个表示 Range 终点在 endContainer 中的位置的数字 |
只读 |
startContainer |
返回包含 Range 开始的节点 |
只读 |
startOffset |
返回一个数字,表示 Range 在 startContainer 中的起始位置 |
只读 |
- Range 对象有以下方法:
方法 |
说明 |
collapse() |
将 Range 折叠到其边界的端点 |
compareBoundaryPoints() |
将该 Range 的边界与另一个 Range 的边界进行比较 |
comparePoint() |
返回 -1、0 或 1,分别表示端点在 Range 之前、内部还是之后 |
cloneContents() |
返回一个复制 Range 中所有节点的文档片段 |
cloneRange() |
返回一个拥有和原 Range 对象相同端点的克隆的 Range 对象 |
createContextualFragment() |
返回从给定的代码字符串创建的文档片段 |
deleteContents() |
从 Document 中移除 Range 内容 |
detach() |
将 Range 从使用状态释放,提高性能 |
extractContents() |
将 Range 的内容从文档树移动到一个文档片段 |
getBoundingClientRect() |
返回一个 DOMRect 对象,其绑定了 Range 的整个内容;这将是通过 range.getClientRects() 返回所有边界矩形集合的其中之一 |
getClientRects() |
返回一个 DOMRect 列表对象,该列表汇总了 Range 中所有元素的 Element.getClientRects() 返回结果。 |
isPointInRange() |
返回一个 boolean,表示给点端点是否在 Range 中 |
insertNode() |
在 Range 开头插入一个节点 |
intersectsNode() |
返回一个 boolean,表示给定的节点是否与 Range 相交 |
selectNode() |
设置 Range 包含某个节点及其它的内容 |
selectNodeContents() |
设置 Range 包含某个节点的内容 |
setEnd() |
设置 Range 的终点 |
setStart() |
设置 Range 的起点 |
setEndAfter() |
以另一个节点为基准,设置 Range 的终点位置 |
setEndBefore() |
以另一个节点为基准,设置 Range 的终点位置 |
setStartAfter() |
以另一个节点为基准,设置 Range 的起点位置 |
setStartBefore() |
以另一个节点为基准,设置 Range 的起点位置 |
surroundContents() |
将 Range 中的内容移动到一个新的节点 |
toString() |
返回 Range 中的文本 |