Edit in JSFiddle

var range1 = document.createRange();
var range2 = document.createRange();
var p1 = document.getElementById("p1");
var idx = -1;
var len = p1.parentNode.childNodes.length;

for (var i = 0; i < len; i++) {
  // p1의 부모 노드로부터 p1의 시작 인덱스를 찾는다.
  if (p1.parentNode.childNodes[i] == p1) {
    idx = i;
    break;
  }
}
// range1.selectNode(p1) 같은 범위
range1.setStart(p1.parentNode, idx);
range1.setEnd(p1.parentNode, idx + 1);

// range2.selectNodeContents(p1) 같은 범위
range2.setStart(p1, 0);
range2.setStart(p1, p1.childNodes.length);

console.log(range1);
console.log(range2);
<p id="p1"><b>Hello</b> world!</p>