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>