Range インターフェイスとは document の断片で、ある document 中のノードやテキストノードの一部を含むことのできるものです。
range は document オブジェクトの createRange() メソッドにより生成することができます。また、Selection オブジェクトの getRangeAt() メソッドや Document オブジェクトの caretRangeFromPoint() メソッドにより取得することもできます。
さらに、Range() コンストラクターも使用できます。
プロパティ
継承しているプロパティはありません。
range.collapsed読取専用- range の始点と終点が同じ位置にあるか否かを示す
Booleanを返す range.commonAncestorContainer読取専用startContainerとendContainerをともに含む、最も深いNodeを返すrange.endContainer読取専用Rangeの終点を含むNodeを返すrange.endOffset読取専用endContainerの中でのRangeの終点の位置を示す数字を返すrange.startContainer読取専用Rangeの始点を含むNodeを返すrange.startOffset読取専用startContainerの中でのRangeの始点の位置を示す数字を返す
コンストラクター
メソッド
継承しているメソッドはありません。
range.setStart()Rangeの始点を設定range.setEnd()Rangeの終点を設定range.setStartBefore()- 他の
Nodeを基準にRangeの始点を設定 range.setStartAfter()- 他の
Nodeを基準にRangeの始点を設定 range.setEndBefore()- 他の
Nodeを基準にRangeの終点を設定 range.setEndAfter()- 他の
Nodeを基準にRangeの終点を設定 range.selectNode()Rangeを、あるNodeとその内容を含むように設定range.selectNodeContents()Rangeを、あるNodeの内容を含むように設定range.collapse()Rangeをその端点の一方へ折りたたむrange.cloneContents()Rangeの中身をコピーしたDocumentFragmentを返すrange.deleteContents()Rangeの中身をDocumentから削除range.extractContents()Rangeの中身をドキュメントツリーからDocumentFragmentに移動range.insertNode()Rangeの始点にNodeを挿入range.surroundContents()Rangeの中身を新しいNodeの中に移動range.compareBoundaryPoints()- 2 つの
Rangeの端点の位置を比較 range.cloneRange()- 元の
Rangeと同じ端点を持つRangeオブジェクトを返す range.detach()- パフォーマンスを改善するために、
Rangeを使用状態から開放 range.toString()Rangeの内容を文字列として返すrange.compareNode()Nodeが range の前、後、中、外のうちのいずれの場所にあるかを示す定数を返すrange.comparePoint()- 指定された点が
Rangeの前、中、後のうちのいずれの場所にあるかを -1、0、1 で示す range.createContextualFragment()- 渡された文字列から生成した
DocumentFragmentを返す Range.getBoundingClientRect()Rangeの内容の全体に結びつくDOMRectオブジェクトを返します。これは、range.getClientRects()が返すすべての長方形の集合体です。Range.getClientRects()Range内のすべての要素について、Element.getClientRects()の結果をまとめたDOMRectオブジェクトのリストを返します。range.intersectsNode()- 指定ノードの範囲が
Rangeと交差するか否かを示すbooleanを返す range.isPointInRange()- 与えられた点が
Rangeの中にあるか否かを示すbooleanを返す
仕様
| 仕様書 | 策定状況 | コメント |
|---|---|---|
| DOM Range の定義 |
現行の標準 | 今後は RangeException は使用せず、代わりに DOMException を使用します。collapse() の第 2 引数を省略可能に変更。isPointInRange()、comparePoint()、intersectsNode() メソッドを追加。Range() コンストラクターを追加。 |
| DOM Parsing and Serialization Extensions to Range の定義 |
草案 | createContextualFragment() メソッドを追加。 |
| CSS Object Model (CSSOM) View Module Extensions to Range の定義 |
草案 | getClientRects() および getBoundingClientRect() メソッドを追加。 |
| Document Object Model (DOM) Level 2 Traversal and Range Specification Range の定義 |
廃止された | 初期定義 |
ブラウザー実装状況
The compatibility table on this page is generated from structured data. If you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and send us a pull request.
Update compatibility data on GitHub
| デスクトップ | モバイル | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
Range | Chrome 完全対応 あり | Edge 完全対応 12 | Firefox
完全対応
4
| IE 完全対応 9 | Opera 完全対応 9 | Safari 完全対応 あり | WebView Android 完全対応 あり | Chrome Android 完全対応 あり | Firefox Android
完全対応
4
| Opera Android 完全対応 あり | Safari iOS 完全対応 あり | Samsung Internet Android 完全対応 あり |
Range() constructor | Chrome 完全対応 あり | Edge 完全対応 ≤18 | Firefox 完全対応 24 | IE 未対応 なし | Opera 完全対応 15 | Safari 完全対応 あり | WebView Android 完全対応 あり | Chrome Android 完全対応 あり | Firefox Android 完全対応 24 | Opera Android 完全対応 14 | Safari iOS 完全対応 あり | Samsung Internet Android 完全対応 あり |
cloneContents | Chrome 完全対応 あり | Edge 完全対応 12 | Firefox 完全対応 4 | IE 完全対応 9 | Opera 完全対応 9 | Safari 完全対応 あり | WebView Android 完全対応 あり | Chrome Android 完全対応 あり | Firefox Android 完全対応 4 | Opera Android 完全対応 あり | Safari iOS 完全対応 あり | Samsung Internet Android 完全対応 あり |
cloneRange | Chrome 完全対応 あり | Edge 完全対応 12 | Firefox 完全対応 4 | IE 完全対応 9 | Opera 完全対応 9 | Safari 完全対応 あり | WebView Android 完全対応 あり | Chrome Android 完全対応 あり | Firefox Android 完全対応 4 | Opera Android 完全対応 あり | Safari iOS 完全対応 あり | Samsung Internet Android 完全対応 あり |
collapse | Chrome 完全対応 あり | Edge 完全対応 12 | Firefox 完全対応 4 | IE 完全対応 9 | Opera 完全対応 9 | Safari 完全対応 あり | WebView Android 完全対応 あり | Chrome Android 完全対応 あり | Firefox Android 完全対応 4 | Opera Android 完全対応 あり | Safari iOS 完全対応 あり | Samsung Internet Android 完全対応 あり |
collapsed | Chrome 完全対応 あり | Edge 完全対応 12 | Firefox 完全対応 4 | IE 完全対応 9 | Opera 完全対応 9 | Safari 完全対応 あり | WebView Android 完全対応 あり | Chrome Android 完全対応 あり | Firefox Android 完全対応 4 | Opera Android 完全対応 あり | Safari iOS 完全対応 あり | Samsung Internet Android 完全対応 あり |
commonAncestorContainer | Chrome 完全対応 あり | Edge 完全対応 12 | Firefox 完全対応 4 | IE 完全対応 9 | Opera 完全対応 9 | Safari 完全対応 あり | WebView Android 完全対応 あり | Chrome Android 完全対応 あり | Firefox Android 完全対応 4 | Opera Android 完全対応 あり | Safari iOS 完全対応 あり | Samsung Internet Android 完全対応 あり |
compareBoundaryPoints | Chrome 完全対応 あり | Edge 完全対応 12 | Firefox 完全対応 4 | IE 完全対応 9 | Opera 完全対応 9 | Safari 完全対応 あり | WebView Android 完全対応 あり | Chrome Android 完全対応 あり | Firefox Android 完全対応 4 | Opera Android 完全対応 あり | Safari iOS 完全対応 あり | Samsung Internet Android 完全対応 あり |
compareNode | Chrome 未対応 なし | Edge 未対応 なし | Firefox 未対応 なし | IE 未対応 なし | Opera 未対応 なし | Safari 未対応 なし | WebView Android 未対応 なし | Chrome Android 未対応 なし | Firefox Android 未対応 なし | Opera Android 未対応 なし | Safari iOS 未対応 なし | Samsung Internet Android 未対応 なし |
comparePoint | Chrome 完全対応 あり | Edge 完全対応 17 | Firefox 完全対応 あり | IE 未対応 なし | Opera 完全対応 15 | Safari 完全対応 あり | WebView Android 完全対応 あり | Chrome Android 完全対応 あり | Firefox Android 完全対応 あり | Opera Android 完全対応 14 | Safari iOS 完全対応 あり | Samsung Internet Android 完全対応 あり |
createContextualFragment | Chrome 完全対応 あり | Edge 完全対応 12 | Firefox 完全対応 あり | IE 完全対応 11 | Opera 完全対応 15 | Safari 完全対応 9 | WebView Android 完全対応 あり | Chrome Android 完全対応 あり | Firefox Android 完全対応 あり | Opera Android 完全対応 14 | Safari iOS 完全対応 あり | Samsung Internet Android 完全対応 あり |
deleteContents | Chrome 完全対応 あり | Edge 完全対応 12 | Firefox 完全対応 4 | IE 完全対応 9 | Opera 完全対応 9 | Safari 完全対応 あり | WebView Android 完全対応 あり | Chrome Android 完全対応 あり | Firefox Android 完全対応 4 | Opera Android 完全対応 あり | Safari iOS 完全対応 あり | Samsung Internet Android 完全対応 あり |
detach | Chrome
完全対応
あり
| Edge 完全対応 12 | Firefox
未対応
4 — 15
| IE 完全対応 9 | Opera 完全対応 9 | Safari
完全対応
あり
| WebView Android 完全対応 あり | Chrome Android 完全対応 あり | Firefox Android
未対応
4 — 15
| Opera Android 完全対応 あり | Safari iOS
完全対応
あり
| Samsung Internet Android 完全対応 あり |
endContainer | Chrome 完全対応 あり | Edge 完全対応 12 | Firefox 完全対応 4 | IE 完全対応 9 | Opera 完全対応 9 | Safari 完全対応 あり | WebView Android 完全対応 あり | Chrome Android 完全対応 あり | Firefox Android 完全対応 4 | Opera Android 完全対応 あり | Safari iOS 完全対応 あり | Samsung Internet Android 完全対応 あり |
endOffset | Chrome 完全対応 あり | Edge 完全対応 12 | Firefox 完全対応 4 | IE 完全対応 9 | Opera 完全対応 9 | Safari 完全対応 あり | WebView Android 完全対応 あり | Chrome Android 完全対応 あり | Firefox Android 完全対応 4 | Opera Android 完全対応 あり | Safari iOS 完全対応 あり | Samsung Internet Android 完全対応 あり |
extractContents | Chrome 完全対応 あり | Edge 完全対応 12 | Firefox 完全対応 4 | IE 完全対応 9 | Opera 完全対応 9 | Safari 完全対応 あり | WebView Android 完全対応 あり | Chrome Android 完全対応 あり | Firefox Android 完全対応 4 | Opera Android 完全対応 あり | Safari iOS 完全対応 あり | Samsung Internet Android 完全対応 あり |
getBoundingClientRect | Chrome 完全対応 あり | Edge 完全対応 12 | Firefox 完全対応 4 | IE 完全対応 9 | Opera 完全対応 15 | Safari 完全対応 あり | WebView Android 完全対応 あり | Chrome Android 完全対応 あり | Firefox Android 完全対応 4 | Opera Android 完全対応 14 | Safari iOS 完全対応 あり | Samsung Internet Android 完全対応 あり |
getClientRects | Chrome 完全対応 あり | Edge 完全対応 12 | Firefox 完全対応 4 | IE 完全対応 9 | Opera 完全対応 15 | Safari 完全対応 5 | WebView Android 完全対応 あり | Chrome Android 完全対応 あり | Firefox Android 完全対応 4 | Opera Android 完全対応 14 | Safari iOS 完全対応 あり | Samsung Internet Android 完全対応 あり |
insertNode | Chrome 完全対応 あり | Edge 完全対応 12 | Firefox 完全対応 4 | IE 完全対応 9 | Opera 完全対応 9 | Safari 完全対応 あり | WebView Android 完全対応 あり | Chrome Android 完全対応 あり | Firefox Android 完全対応 4 | Opera Android 完全対応 10.1 | Safari iOS 完全対応 あり | Samsung Internet Android 完全対応 あり |
intersectsNode | Chrome 完全対応 あり | Edge 完全対応 17 | Firefox 完全対応 17 | IE 未対応 なし | Opera 完全対応 15 | Safari 完全対応 あり | WebView Android 完全対応 あり | Chrome Android 完全対応 あり | Firefox Android 完全対応 19 | Opera Android 完全対応 14 | Safari iOS 完全対応 あり | Samsung Internet Android 完全対応 あり |
isPointInRange | Chrome 完全対応 あり | Edge 完全対応 15 | Firefox 完全対応 あり | IE 未対応 なし | Opera 完全対応 15 | Safari 完全対応 あり | WebView Android 完全対応 あり | Chrome Android 完全対応 あり | Firefox Android 完全対応 あり | Opera Android 完全対応 14 | Safari iOS 完全対応 あり | Samsung Internet Android 完全対応 あり |
selectNode | Chrome 完全対応 あり | Edge 完全対応 12 | Firefox 完全対応 4 | IE 完全対応 9 | Opera 完全対応 9 | Safari 完全対応 あり | WebView Android 完全対応 あり | Chrome Android 完全対応 あり | Firefox Android 完全対応 4 | Opera Android 完全対応 あり | Safari iOS 完全対応 あり | Samsung Internet Android 完全対応 あり |
selectNodeContents | Chrome 完全対応 あり | Edge 完全対応 12 | Firefox 完全対応 4 | IE 完全対応 9 | Opera 完全対応 9 | Safari 完全対応 あり | WebView Android 完全対応 あり | Chrome Android 完全対応 あり | Firefox Android 完全対応 4 | Opera Android 完全対応 あり | Safari iOS 完全対応 あり | Samsung Internet Android 完全対応 あり |
setEnd | Chrome 完全対応 あり | Edge 完全対応 12 | Firefox 完全対応 4 | IE 完全対応 9 | Opera 完全対応 9 | Safari 完全対応 あり | WebView Android 完全対応 あり | Chrome Android 完全対応 あり | Firefox Android 完全対応 4 | Opera Android 完全対応 あり | Safari iOS 完全対応 あり | Samsung Internet Android 完全対応 あり |
setEndAfter | Chrome 完全対応 あり | Edge 完全対応 12 | Firefox 完全対応 4 | IE 完全対応 9 | Opera 完全対応 9 | Safari 完全対応 あり | WebView Android 完全対応 あり | Chrome Android 完全対応 あり | Firefox Android 完全対応 4 | Opera Android 完全対応 あり | Safari iOS 完全対応 あり | Samsung Internet Android 完全対応 あり |
setEndBefore | Chrome 完全対応 あり | Edge 完全対応 12 | Firefox 完全対応 4 | IE 完全対応 9 | Opera 完全対応 9 | Safari 完全対応 あり | WebView Android 完全対応 あり | Chrome Android 完全対応 あり | Firefox Android 完全対応 4 | Opera Android 完全対応 あり | Safari iOS 完全対応 あり | Samsung Internet Android 完全対応 あり |
setStart | Chrome 完全対応 あり | Edge 完全対応 12 | Firefox 完全対応 4 | IE 完全対応 9 | Opera 完全対応 9 | Safari 完全対応 あり | WebView Android 完全対応 あり | Chrome Android 完全対応 あり | Firefox Android 完全対応 4 | Opera Android 完全対応 あり | Safari iOS 完全対応 あり | Samsung Internet Android 完全対応 あり |
setStartAfter | Chrome 完全対応 あり | Edge 完全対応 12 | Firefox 完全対応 4 | IE 完全対応 9 | Opera 完全対応 9 | Safari 完全対応 あり | WebView Android 完全対応 あり | Chrome Android 完全対応 あり | Firefox Android 完全対応 4 | Opera Android 完全対応 あり | Safari iOS 完全対応 あり | Samsung Internet Android 完全対応 あり |
setStartBefore | Chrome 完全対応 あり | Edge 完全対応 12 | Firefox 完全対応 4 | IE 完全対応 9 | Opera 完全対応 9 | Safari 完全対応 あり | WebView Android 完全対応 あり | Chrome Android 完全対応 あり | Firefox Android 完全対応 4 | Opera Android 完全対応 あり | Safari iOS 完全対応 あり | Samsung Internet Android 完全対応 あり |
startContainer | Chrome 完全対応 あり | Edge 完全対応 12 | Firefox 完全対応 4 | IE 完全対応 9 | Opera 完全対応 9 | Safari 完全対応 あり | WebView Android 完全対応 あり | Chrome Android 完全対応 あり | Firefox Android 完全対応 4 | Opera Android 完全対応 あり | Safari iOS 完全対応 あり | Samsung Internet Android 完全対応 あり |
startOffset | Chrome 完全対応 あり | Edge 完全対応 12 | Firefox 完全対応 4 | IE 完全対応 9 | Opera 完全対応 9 | Safari 完全対応 あり | WebView Android 完全対応 あり | Chrome Android 完全対応 あり | Firefox Android 完全対応 4 | Opera Android 完全対応 あり | Safari iOS 完全対応 あり | Samsung Internet Android 完全対応 あり |
surroundContents | Chrome 完全対応 あり | Edge 完全対応 12 | Firefox 完全対応 4 | IE 完全対応 9 | Opera 完全対応 9 | Safari 完全対応 あり | WebView Android 完全対応 あり | Chrome Android 完全対応 あり | Firefox Android 完全対応 4 | Opera Android 完全対応 あり | Safari iOS 完全対応 あり | Samsung Internet Android 完全対応 あり |
toString | Chrome 完全対応 あり | Edge 完全対応 12 | Firefox 完全対応 4 | IE 完全対応 9 | Opera 完全対応 9 | Safari 完全対応 あり | WebView Android 完全対応 あり | Chrome Android 完全対応 あり | Firefox Android 完全対応 4 | Opera Android 完全対応 あり | Safari iOS 完全対応 あり | Samsung Internet Android 完全対応 あり |
凡例
- 完全対応
- 完全対応
- 未対応
- 未対応
- 実験的。動作が変更される可能性があります。
- 実験的。動作が変更される可能性があります。
- 非標準。ブラウザー間の互換性が低い可能性があります。
- 非標準。ブラウザー間の互換性が低い可能性があります。
- 非推奨。新しいウェブサイトでは使用しないでください。
- 非推奨。新しいウェブサイトでは使用しないでください。
- 実装ノートを参照してください。
- 実装ノートを参照してください。