• 1.摘要
  • 2.正文
  • 2.1.释义
  • 2.2.Range 对象
  • 2.3.术语
  • 3.常量
  • 4.属性
  • 5.方法
  • 6.参考资料

Range 对象

正文

释义

Range 对象表示文档中的连续范围。

Range 对象

Range 对象表示文档的连续范围区域,如用户在浏览器窗口中用鼠标拖动选中的区域。

如果一个实现支持 Range 模块,那么 Document 对象就定义了 createRange() 方法,调用它可创建新的 Range 对象。

注意:IE 定义了不兼容的 Document.createRange() 方法,它返回的对象与 Rang 接口相似,但不兼容。

Range 接口为指定文档“选中”的区域定义了大量的方法,此外还有几个方法可以用于在选中的区域中进行剪切和粘贴类型的操作。

Range 接口的属性提供了获取范围的边界节点和偏移量的方法。它的方法提供了设置范围边界的方法。注意,范围的边界可以设置为 Document 或 DocumentFragment 对象中的节点。一旦定义了范围的边界点,就可以使用 deleteContents()、extractContents()、cloneContents() 和 insertNode() 方法实现剪切、复制和粘贴的操作。

当通过插入或删除操作改变了文档时,表示文档一部分的所有 Range 对象都将改变(如果必要的话),以便使它们的边界点保持有效,并且让它们(尽可能接近地)表示同样的文档内容。

术语

一个范围具有两个边界点,即一个开始点和一个结束点。每个边界点由一个节点和那个节点的偏移量指定。该节点通常是 Element 节点、Document 节点或 Text 节点。对于 Element 节点和 Document 节点,偏移量指该节点的子节点。偏移量为 0,说明边界点位于该节点的第一个子节点之前。偏移量为 1,说明边界点位于该节点的第一个子节点之后,第二个子节点之前。但如果边界节点是 Text 节点,偏移量则指的是文本中两个字符之间的位置。

常量

这些常量指定了如何比较 Range 对象的边界点。

它们是 compareBoundaryPoints() 方法的 参数的合法值:

常量

描述

START_TO_START

用指定范围的开始点与当前范围的开始点进行比较。

START_TO_END

用指定范围的开始点与当前范围的结束点进行比较。

END_TO_END

用指定范围的结束点与当前范围的结束点进行比较。

END_TO_START

用指定范围的结束点与当前范围的开始点进行比较。

属性

注意:所有属性都是只读的,不能通过设置这些属性改变范围的开始点和结束点,必须调用 setEnd() 方法和 setStart() 方法实现这一点。