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()のドキュメント上の位置が、下になるように指定します。さもなくば、後から指定した位置に範囲が折りたたまれます。