选择:getRangeAt() 方法

getRangeAt() 方法是 Selection 接口的方法,用于返回一个表示当前选中范围的范围对象。

如果选中范围的端点位于 影子树 中,那么 JavaScript 将无法看到影子节点,该方法应该将范围重新调整范围以包含包含端点的宿主元素。在实践中,大多数浏览器尚未实现此行为,返回的范围是不可预测的。

注意: 当在可能包含影子根的节点中进行选择时,可以使用 Selection.getComposedRanges()(如果支持)获取影子树中的选择范围,或可靠地将选择范围重新调整到宿主节点。

语法

js
getRangeAt(index)

参数

index

要返回的范围的从零开始的索引。负数或大于或等于 Selection.rangeCount 的数字将导致错误。

返回值

指定的 Range 对象。

示例

js
let ranges = [];

sel = window.getSelection();

for (let i = 0; i < sel.rangeCount; i++) {
  ranges[i] = sel.getRangeAt(i);
}
/* Each item in the ranges array is now
 * a range object representing one of the
 * ranges in the current selection */

规范

规范
选择 API
# dom-selection-getrangeat

浏览器兼容性

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

另请参阅