选择: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 的浏览器中加载。
另请参阅
Selection
,它所属的接口。