Rangeオブジェクト

Rangeオブジェクトは、ノードやテキストノードを含むドキュメントの断片を表します。このオブジェクトは、Document.createRange()やSelection.getRangeAt()から取得できます。

範囲の設定

var range = document.createRange();

range.setStart( node1, 0 );
range.setEnd( node2, 0 );
range.setStart( startNode, startOffset );
Range.setStart - Web API Interfaces | MDN
range.setEnd( endNode, endOffset );
Range.setEnd - Web API Interfaces | MDN

設定範囲は、setStart()よりsetEnd()のドキュメント上の位置が、下になるように指定します。さもなくば、後から指定した位置に範囲が折りたたまれます。

JavaScriptのドキュメントから検索