--- title: selection slug: Web/API/Selection tags: - Experimental translation_of: Web/API/Selection ---
{{ApiRef}} {{SeeCompatTable}}

概要

このオブジェクトのクラスは window.getSelection() やその他のメソッドによって返されるものです。

説明

selection オブジェクトはユーザーが選択した 1つないし複数の range を表しています。通常、これは 1 つのみ range を保持しており、次のようにアクセスします。

var selObj = window.getSelection();
var range  = selObj.getRangeAt(0);

以下のように toString() メソッドを呼ぶことにより、selection に含まれる文字列を取得できます。

var selObj = window.getSelection();
window.alert(selObj);

用語集

ここで使われる他の定義語は以下のとおり。

anchor
selection の anchor とは、selection の始点のことです。マウスにより selection が作成されたとき、anchor は、document の中でマウスのボタンが最初に押された位置になります。ユーザーが selection をマウスやキーボードで変更しても、anchor が動くことはありません。
focus
selection の focus とは、selection の終点のことです。マウスにより selection が作成されたとき、focus は、document の中でマウスのボタンが離された位置になります。ユーザーが selection をマウスやキーボードで変更したとき、focus は selection の最も後の部分で、selection の変化に伴って移動します。
range
range とは、一続きの document の一部です。range は node の一部(例えば、text node の一部)だけでなく、node の全体を含むこともできます。ユーザーは通常 1 回にひとつの range を選択するのですが、複数の range を選択することも不可能ではありません(たとえば、Controlキーを使うことにより可能)。range は selection から range オブジェクトとして取得できます。range オブジェクトは、DOM 経由で作成することができ、プログラム的に selection に追加したり、selection から削除したりすることができます。

プロパティ

{{domxref("Selection/anchorNode","anchorNode")}}
selection の始点のある node を返します。
{{domxref("Selection/anchorOffset","anchorOffset")}}
selection の始点の、anchorNode 内でのオフセットを返します。
{{domxref("Selection/focusNode","focusNode")}}
selection の終点のある node を返します。
{{domxref("Selection/focusOffset","focusOffset")}}
selection の終点の、focusNode 内でのオフセットを返します。
{{domxref("Selection/isCollapsed","isCollapsed")}}
selection の始点と終点が同じ位置にあるか、boolean値を返します。
{{domxref("Selection/rangeCount","rangeCount")}}
selection に含まれる range の数を返します。

メソッド

{{domxref("Selection/getRangeAt","getRangeAt")}}
選択されている 1 つないし複数の range のうちの 1 つを表す range オブジェクトを返します。
{{domxref("Selection/collapse","collapse")}}
selection をある一点に折りたたみます。
{{domxref("Selection/extend","extend")}}
selection の focus (終点) を指定した点に移動します。
{{domxref("Selection/modify","modify")}} {{gecko_minversion_inline("2.0")}}
現在の選択範囲を変更します。
{{domxref("Selection/collapseToStart","collapseToStart")}}
selection の focus (終点)を anchor (始点) と同じ位置に移動します。
{{domxref("Selection/collapseToEnd","collapseToEnd")}}
selection の anchor (始点)を focus (終点) と同じ位置に移動します。focus の移動はありません。
{{domxref("Selection/selectAllChildren","selectAllChildren")}}
指定した node の全ての子 node を selection に追加します。
{{domxref("Selection/addRange","addRange")}}
selection に range オブジェクトを追加します。
{{domxref("Selection/removeRange","removeRange")}}
1つの range オブジェクトを selection から削除します。
{{domxref("Selection/removeAllRanges","removeAllRanges")}}
全ての range を selection から削除します。
{{domxref("Selection/deleteFromDocument","deleteFromDocument")}}
selection の内容を document から削除します。
{{domxref("Selection/selectionLanguageChange","selectionLanguageChange")}}
Modifies the cursor Bidi level after a change in keyboard direction.
{{domxref("Selection/toString","toString")}}
selection オブジェクトが表す領域を文字列として返します。(すなわち、現在選択されている文字列)
{{domxref("Selection/containsNode","containsNode")}}
特定の node が selection に含まれるか、boolean 値を返します。

関連情報