范围

Range 接口表示文档的一个片段,该片段可以包含节点和文本节点的一部分。

可以使用 Document.createRange() 方法创建范围。还可以使用 getRangeAt() 方法(来自 Selection 对象)或 caretRangeFromPoint() 方法(来自 Document 对象)来检索范围对象。

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

AbstractRange Range

实例属性

没有继承的属性。

Range.collapsed 只读

返回一个布尔值,指示范围的起点和终点是否在同一位置。

Range.commonAncestorContainer 只读

返回包含 startContainerendContainer 节点的最深 Node

Range.endContainer 只读

返回 Range 结束所在的 Node

Range.endOffset 只读

返回一个数字,表示 RangeendContainer 中结束的位置。

Range.startContainer 只读

返回 Range 开始所在的 Node

Range.startOffset 只读

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

构造函数

Range()

返回一个 Range 对象,其起点和终点均为全局 Document

实例方法

没有继承的方法。

Range.collapse()

Range 折叠到其边界点之一。

Range.compareBoundaryPoints()

Range 的边界点与另一个 Range 进行比较。

Range.compareNode() 已弃用 非标准

返回一个常量,表示 Node 在范围之前、之后、内部或周围。

Range.comparePoint()

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

Range.cloneContents()

返回一个 DocumentFragment,复制 Range 的节点。

Range.cloneRange()

返回一个 Range 对象,其边界点与克隆的 Range 相同。

Range.createContextualFragment()

返回一个由给定代码字符串创建的 DocumentFragment

Range.deleteContents()

Document 中删除 Range 的内容。

Range.detach()

不执行任何操作。保留以保持兼容性。

Range.extractContents()

Range 的内容从文档树移动到 DocumentFragment 中。

Range.getBoundingClientRect()

返回一个 DOMRect 对象,该对象绑定 Range 的整个内容;这将是 range.getClientRects() 返回的所有矩形的并集。

Range.getClientRects()

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

Range.isPointInRange()

返回一个 boolean 值,指示给定点是否在 Range 中。

Range.insertNode()

Range 的开头插入一个 Node

Range.intersectsNode()

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

Range.selectNode()

Range 设置为包含 Node 及其内容。

Range.selectNodeContents()

Range 设置为包含 Node 的内容。

Range.setEnd()

设置 Range 的结束位置。

Range.setStart()

设置 Range 的开始位置。

Range.setEndAfter()

相对于另一个 Node 设置 Range 的结束位置。

Range.setEndBefore()

相对于另一个 Node 设置 Range 的结束位置。

Range.setStartAfter()

相对于另一个 Node 设置 Range 的开始位置。

Range.setStartBefore()

相对于另一个 Node 设置 Range 的开始位置。

Range.surroundContents()

Range 的内容移动到一个新的 Node 中。

Range.toString()

返回 Range 的文本。

规范

规范
DOM 标准
# interface-range
DOM 解析和序列化
# extensions-to-the-range-interface
CSSOM 视图模块
# extensions-to-the-range-interface

浏览器兼容性

BCD 表格仅在启用 JavaScript 的浏览器中加载。

另请参阅