Selection: getRangeAt() メソッド
Baseline
広く利用可能
この機能は広く実装されており、多くのバージョンの端末やブラウザーで動作します。2015年7月以降、すべてのブラウザーで利用可能です。
getRangeAt() は Selection インターフェイスのメソッドで、現在選択されている範囲を表す範囲オブジェクトを返します。
選択された範囲の両端がシャドウツリー内にある場合、JavaScript からはシャドウノードが見えないため、このメソッドは、範囲を再定義して、その両端を含むホスト要素を含めるようにする必要があります。 実際には、ほとんどのブラウザーではまだこの動作が実装されておらず、返される範囲は予測できません。
メモ:
シャドウルートを含む可能性のあるノード内で選択を行う場合、Selection.getComposedRanges()(対応していれば)を使用することで、シャドウツリー内の選択範囲を取得したり、選択範囲をホストノードに確実に再設定したりすることができます。
構文
js
getRangeAt(index)
引数
index-
返す範囲のゼロ基点のインデックス。 負の数、または
Selection.rangeCount以上の数値を指定すると、エラーが発生します。
返値
指定された Range オブジェクトです。
例
js
let ranges = [];
const sel = window.getSelection();
for (let i = 0; i < sel.rangeCount; i++) {
ranges[i] = sel.getRangeAt(i);
}
/* ranges 配列の各要素は、現在の選択範囲のうちの
* 1 つを表す範囲オブジェクトになります */
仕様書
| 仕様書 |
|---|
| Selection API> # dom-selection-getrangeat> |
ブラウザーの互換性
関連情報
- 所属先のインターフェイスである
Selection