--- title: Range slug: Web/API/Range tags: - API - DOM translation_of: Web/API/Range ---

{{APIRef("DOM")}}

Range インターフェイスは、ノードやテキストノードの部品を含むことができる文書の断片を表します。

Range は {{domxref("document")}} オブジェクトの {{domxref("document.createRange", "createRange()")}} メソッドにより生成することができます。また、{{domxref("Selection")}} オブジェクトの {{domxref("Selection/getRangeAt", "getRangeAt()")}} メソッドや {{domxref("Document")}} オブジェクトの {{domxref("Document/caretRangeFromPoint", "caretRangeFromPoint()")}} メソッドにより取得することもできます。

さらに、{{domxref("Range.Range()", "Range()")}} コンストラクターも使用できます。

プロパティ

継承しているプロパティはありません。

{{domxref("Range.collapsed")}} {{readonlyInline}}
Range の始点と終点が同じ位置にあるか否かを示す {{domxref("Boolean")}} を返す
{{domxref("Range.commonAncestorContainer")}} {{readonlyInline}}
startContainerendContainer をともに含む、最も深い {{domxref("Node")}} を返す
{{domxref("Range.endContainer")}} {{readonlyInline}}
Range の終点を含む {{domxref("Node")}} を返す
{{domxref("Range.endOffset")}} {{readonlyInline}}
endContainer の中での Range の終点の位置を示す数字を返す
{{domxref("Range.startContainer")}} {{readonlyInline}}
Range の始点を含む {{domxref("Node")}} を返す
{{domxref("Range.startOffset")}} {{readonlyInline}}
startContainer の中での Range の始点の位置を示す数字を返す

コンストラクター

{{ domxref("Range.Range()", "Range()") }} {{experimental_inline}}
始点および終点がグローバルな {{domxref("Document")}} である Range オブジェクトを返します。

メソッド

継承しているメソッドはありません。

{{ domxref("Range.setStart()")}}
Range の始点を設定
{{ domxref("Range.setEnd()")}}
Range の終点を設定
{{ domxref("Range.setStartBefore()")}}
他の {{domxref("Node")}} を基準に Range の始点を設定
{{ domxref("Range.setStartAfter()")}}
他の {{domxref("Node")}} を基準に Range の始点を設定
{{ domxref("Range.setEndBefore()")}}
他の {{domxref("Node")}} を基準に Range の終点を設定
{{ domxref("Range.setEndAfter()")}}
他の {{domxref("Node")}} を基準に Range の終点を設定
{{ domxref("Range.selectNode()")}}
Range を、ある {{domxref("Node")}} とその内容を含むように設定
{{ domxref("Range.selectNodeContents()")}}
Range を、ある {{domxref("Node")}} の内容を含むように設定
{{ domxref("Range.collapse()")}}
Range をその端点の一方へ折りたたむ
{{ domxref("Range.cloneContents()")}}
Range の中身をコピーした {{domxref("DocumentFragment")}} を返す
{{ domxref("Range.deleteContents()")}}
Range の中身を {{domxref("Document")}} から削除
{{ domxref("Range.extractContents()")}}
Range の中身をドキュメントツリーから {{domxref("DocumentFragment")}} に移動
{{ domxref("Range.insertNode()")}}
Range の始点に {{domxref("Node")}} を挿入
{{ domxref("Range.surroundContents()")}}
Range の中身を新しい {{domxref("Node")}} の中に移動
{{ domxref("Range.compareBoundaryPoints()")}}
2 つの Range の端点の位置を比較
{{ domxref("Range.cloneRange()")}}
元の Range と同じ端点を持つ Range オブジェクトを返す
{{ domxref("Range.detach()")}}
パフォーマンスを改善するために、 Range を使用状態から開放
{{ domxref("Range.toString()")}}
Range の内容を文字列として返す
{{ domxref("Range.compareNode()")}} {{ Obsolete_inline }}{{non-standard_inline}}
{{domxref("Node")}} が range の前、後、中、外のうちのいずれの場所にあるかを示す定数を返す
{{ domxref("Range.comparePoint()")}} {{experimental_inline}}
指定された点が Range の前、中、後のうちのいずれの場所にあるかを -1、0、1 で示す
{{ domxref("Range.createContextualFragment()")}}{{experimental_inline}}
渡された文字列から生成した {{domxref("DocumentFragment")}} を返す
{{ domxref("Range.getBoundingClientRect()") }} {{experimental_inline}}
Range の内容の全体に結びつく {{domxref("DOMRect")}} オブジェクトを返します。これは、{{domxref("Range.getClientRects()")}} が返すすべての長方形の集合体です。
{{ domxref("Range.getClientRects()") }} {{experimental_inline}}
Range 内のすべての要素について、{{domxref("Element.getClientRects()")}} の結果をまとめた {{domxref("DOMRect")}} オブジェクトのリストを返します。
{{ domxref("Range.intersectsNode()")}} {{experimental_inline}}
指定ノードの範囲が Range と交差するか否かを示す boolean を返す
{{ domxref("Range.isPointInRange()")}} {{experimental_inline}}
与えられた点が Range の中にあるか否かを示す boolean を返す

仕様書

仕様書 状態 備考
{{SpecName('DOM WHATWG', '#interface-range', 'Range')}} {{Spec2('DOM WHATWG')}} 今後は RangeException は使用せず、代わりに DOMException を使用します。
collapse() の第 2 引数を省略可能に変更。
isPointInRange(), comparePoint(), intersectsNode() メソッドを追加。
Range() コンストラクターを追加。
{{SpecName('DOM Parsing', '#extensions-to-the-range-interface', 'Extensions to Range')}} {{Spec2('DOM Parsing')}} createContextualFragment() メソッドを追加。
{{SpecName('CSSOM View', '#extensions-to-the-range-interface', 'Extensions to Range')}} {{Spec2('CSSOM View')}} getClientRects() および getBoundingClientRect() メソッドを追加。
{{SpecName('DOM2 Traversal_Range', 'ranges.html#Level-2-Range-Interface', 'Range')}} {{Spec2('DOM2 Traversal_Range')}} s初回定義

ブラウザーの互換性

{{Compat("api.Range")}}

関連情報