function deleteRange() { var range = document.createRange(); var p1 = document.getElementById("p1"); var helloNode = p1.firstChild.firstChild; var worldNode = p1.lastChild; range.setStart(helloNode, 2); range.setEnd(worldNode, 3); range.deleteContents(); // 범위 삭제 } function extractRange() { var range = document.createRange(); var p1 = document.getElementById("p2"); var helloNode = p1.firstChild.firstChild; var worldNode = p1.lastChild; range.setStart(helloNode, 2); range.setEnd(worldNode, 3); var fragment = range.extractContents(); // 범위 잘라내기 var out = document.getElementById("out2"); out.appendChild(fragment); } function cloneRange() { var range = document.createRange(); var p1 = document.getElementById("p3"); var helloNode = p1.firstChild.firstChild; var worldNode = p1.lastChild; range.setStart(helloNode, 2); range.setEnd(worldNode, 3); var fragment = range.cloneContents(); // 범위 복제 var out = document.getElementById("out3"); out.appendChild(fragment); }
<button type="button" onclick="deleteRange()">deleteContents()</button> <p id="p1"><b>Hello</b> world!</p> <hr> <button type="button" onclick="extractRange()">extractContents()</button> <p id="p2"><b>Hello</b> world!</p> <p id="out2"></p> <hr> <button type="button" onclick="cloneRange()">cloneContents()</button> <p id="p3"><b>Hello</b> world!</p> <p id="out3"></p>