Selectionオブジェクトのプロパティ
テキストを選択すると、選択文字列や開始・終了位置、選択の種類がリアルタイムに表示されます。
サンプルテキスト
あさ、眼をさますときの気持は、面白い。かくれんぼのとき、押入れの真っ暗い中に、じっと、しゃがんで隠れていて、突然、でこちゃんに、がらっと襖をあけられ、日の光がどっと来て、でこちゃんに、「見つけた!」と大声で言われて、まぶしさ、それから、へんな間の悪さ、それから、胸がどきどきして、着物のまえを合せたりして、ちょっと、てれくさく、押入れから出て来て、急にむかむか腹立たしく、あの感じ、いや、ちがう、あの感じでもない、なんだか、もっとやりきれない。
選択中のテキスト(selection.toString())
選択要素の開始位置の要素
(selection.anchorNode.textContent, selection.anchorOffset)
選択要素の終了位置の要素
(selection.focusNode.textContent, selection.focusOffset)
選択の種類(selection.type)
Selectionオブジェクトのメソッド
ボタンからaddRangeやextendなどを呼び出し、選択範囲をスクリプトで作成・削除・拡張できます。
サンプルテキスト
あさ、眼をさますときの気持は、面白い。かくれんぼのとき、押入れの真っ暗い中に、じっと、しゃがんで隠れていて、突然、でこちゃんに、がらっと襖をあけられ、日の光がどっと来て、でこちゃんに、「見つけた!」と大声で言われて、まぶしさ、それから、へんな間の悪さ、それから、胸がどきどきして、着物のまえを合せたりして、ちょっと、てれくさく、押入れから出て来て、急にむかむか腹立たしく、あの感じ、いや、ちがう、あの感じでもない、なんだか、もっとやりきれない。
選択範囲の追加
(selection.addRange(Range))
選択範囲の削除
(selection.removeAllRanges(), selection.empty())
要素の子を全て選択する
(selection.selectAllChildren(Node))
範囲の変更
(selection.extend(Node, ?offset))
Baseline 2025で追加されたgetComposedRangesメソッド
閉じたShadow Tree内の選択で、getRangeAtとgetComposedRangesが返す範囲の違いを比較できます。
サンプルテキスト(テキスト全体が閉じたShadow Tree)
あさ、眼をさますときの気持は、面白い。かくれんぼのとき 、押入れの真っ暗い中に、じっと、しゃがんで隠れていて、突然、でこちゃんに、がらっと襖をあけられ、日の光がどっと来て、でこちゃんに、「見つけた!」と大声で言われて、まぶしさ、それから、へんな間の悪さ、それから、胸がどきどきして、着物のまえを合せたりして、ちょっと、てれくさく、押入れから出て来て、急にむかむか腹立たしく、あの感じ、いや、ちがう、あの感じでもない、なんだか、もっとやりきれない。
SafariやIOSのChrome等ではoptionsを含んだgetComposedRangesメソッドが正しく動作しない場合があります。