Range.setEndBefore() - встановлює кінцеве положення Range до вказаного Node.
Range.setEndBefore( endNode);
Range - об'єкт Range.
endNode - Node до якого Range повинен закінчитися.
setEndBefore() метод об'єкту Range який встановлює кінцеве положення діапазону Range до вказаного endNode. Тобто виділення закінчується до самого початку endNode.
var ran= document.createRange();
var node= document.getElementsByTagName('h2')[0];
var node2= document.getElementsByTagName('p')[0];
//з node початку
ran.setStartBefore( node );
// до node2 початку
ran.setEndBefore(node2 );
getSelection().addRange(ran);