Range

Range 接口表示一个包含节点与文本节点的一部分的文档片段。

可以使用 Document.createRange 方法创建 Range。也可以用 Selection 对象的 getRangeAt() 方法或者 Document 对象的 caretRangeFromPoint() 方法获取 Range 对象。

还可以用 Range() 构造函数。

属性

没有继承的属性。

Range.collapsed 只读

返回一个表示 Range 的起始位置和终止位置是否相同的布尔值

Range.commonAncestorContainer 只读

返回完整包含 startContainerendContainer 的、最深一级的节点

Range.endContainer 只读

返回包含 Range 终点的节点

Range.endOffset 只读

返回一个表示 Range 终点在 endContainer 中的位置的数字。

Range.startContainer 只读

返回包含 Range 开始的节点

Range.startOffset 只读

返回一个数字,表示 RangestartContainer 中的起始位置。

构造函数

Range()

返回一个以全局(global)Document 作为起点与终点的 Range 对象。

方法

该接口没有继承的方法。

Range.collapse()

Range 折叠到其边界的端点。

Range.compareBoundaryPoints()

将该 Range 的边界与另一个 Range 的边界进行比较

Range.compareNode() 已弃用 非标准

返回一个常量,表示节点是否在 Range 的前、后、中、外。

Range.comparePoint()

返回 -1、0 或 1,分别表示端点在 Range 之前、内部还是之后。

Range.cloneContents()

返回一个复制 Range 中所有节点的文档片段

Range.cloneRange()

返回一个拥有和原 Range 对象相同端点的克隆的 Range 对象。

Range.createContextualFragment()

返回从给定的代码字符串创建的文档片段

Range.deleteContents()

Document 中移除 Range 内容。

Range.detach()

Range 从使用状态释放,提高性能。

Range.extractContents()

Range 的内容从文档树移动到一个文档片段

Range.getBoundingClientRect()

返回一个 DOMRect 对象,其绑定了 Range 的整个内容;这将是通过 range.getClientRects() 返回所有边界矩形集合的其中之一。

Range.getClientRects()

返回一个 DOMRect 列表对象,该列表汇总了 Range 中所有元素的 Element.getClientRects() 返回结果。

Range.isPointInRange()

返回一个 boolean,表示给点端点是否在 Range 中。

Range.insertNode()

Range 开头插入一个节点

Range.intersectsNode()

返回一个 boolean,表示给定的节点是否与 Range 相交。

Range.selectNode()

设置 Range 包含某个节点及其他的内容。

Range.selectNodeContents()

设置 Range 包含某个节点的内容。

Range.setEnd()

设置 Range 的终点。

Range.setStart()

设置 Range 的起点。

Range.setEndAfter()

以另一个节点为基准,设置 Range 的终点位置。

Range.setEndBefore()

以另一个节点为基准,设置 Range 的终点位置。

Range.setStartAfter()

以另一个节点为基准,设置 Range 的起点位置。

Range.setStartBefore()

以另一个节点为基准,设置 Range 的起点位置。

Range.surroundContents()

Range 中的内容移动到一个新的节点

Range.toString()

返回 Range 中的文本

规范

Specification
DOM Standard
# interface-range
DOM Parsing and Serialization
# extensions-to-the-range-interface
CSSOM View Module
# extensions-to-the-range-interface

浏览器兼容性

BCD tables only load in the browser

参见