Selection:getRangeAt() 方法

Baseline 已廣泛支援

此特性已相當成熟,可在許多裝置和瀏覽器版本上使用。自 ⁨2015 年 7 月⁩以來,各瀏覽器均已提供此特性。

Selection 介面的 getRangeAt() 方法返回一個表示當前選定範圍的範圍物件。

如果選定範圍的端點位於 Shadow Tree 中,則 JavaScript 無法看到 Shadow 節點,該方法應該重新調整範圍以包含包含端點的宿主元素。實際上,大多數瀏覽器尚未實現此行為,返回的範圍是不可預測的。

注意: 在選擇可能包含 Shadow Root 的節點時,您可以使用 Selection.getComposedRanges()(如果支援)來獲取 Shadow Tree 內部的選擇範圍,或者可靠地將選擇重新調整到宿主節點。

語法

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 */

規範

規範
Selection API
# dom-selection-getrangeat

瀏覽器相容性

另見