Range: setEnd() メソッド

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since March 2017.

Range.setEnd() メソッドは Range の終了位置を指定されたノードの指定されたオフセットに設定します。 終点を始点より上(文書内の高い位置)に設定すると、始点と終点の両方が指定した終点位置に設定された、折りたたまれた範囲になります。

構文

js
setEnd(endNode, endOffset)

引数

endNode

中で Range が終わる Node です。

endOffset

0 以上の整数で、 endNode の始点から Range の終点のオフセットを表します。

返値

なし (undefined)。

例外

InvalidNodeTypeError DOMException

endNode で指定されたノードは doctype ノードです。範囲の終点は doctype ノード内に配置することはできません。

IndexSizeError DOMException

endOffset で指定された値は、ノードの長さ以上であるか、 0 未満です。

使用上の注意

endNodeTextCommentCDataSection のいずれかの型の Node である場合、 endOffsetendNode の開始位置からの文字数です。他の型の Node である場合、 endOffsetendNode の始点からの子ノードの数を指定します。

js
const range = document.createRange();
const endNode = document.getElementsByTagName("p").item(3);
const endOffset = endNode.childNodes.length;
range.setEnd(endNode, endOffset);

メモ: setEnd()setStart() と組み合わせて使用するのが一般的です。

仕様書

Specification
DOM
# dom-range-setend

ブラウザーの互換性

Report problems with this compatibility data on GitHub
desktopmobile
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
setEnd

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support

関連情報