【示例】
-
HTML
<section id="wrap"> <article id="main"> <h1>游子吟</h1> <h2>孟郊</h2> <p>慈母手中线,游子身上衣。临行密密缝,意恐迟迟归。谁言寸草心,报得三春晖。</p> </article> <header> <input type="button" value="创建范围" onclick="createrange()" /> </header> <footer> <dl> <dt>范围1</dt> <dd>Start Container(开始点的父节点):<span id="txtStartContainer1"></span></dd> <dd>Start Offset(开始点的偏移值):<span id="txtStartOffset1"></span></dd> <dd>End Container(结束点的父节点):<span id="txtEndContainer1"></span></dd> <dd>End Offset(结束点的偏移值):<span id="txtEndOffset1"></span></dd> <dd>Common Ancestor(共同祖先节点):<span id="txtCommonAncestor1"></span></dd> </dl> <dl> <dt>范围2</dt> <dd>Start Container(开始点的父节点):<span id="txtStartContainer2"></span></dd> <dd>Start Offset(开始点的偏移值):<span id="txtStartOffset2"></span></dd> <dd>End Container(结束点的父节点):<span id="txtEndContainer2"></span></dd> <dd>End Offset(结束点的偏移值):<span id="txtEndOffset2"></span></dd> <dd>Common Ancestor(共同祖先节点):<span id="txtCommonAncestor2"></span></dd> </dl> </footer> </section> -
JS
//插入范围内容 function createrange() { var range1 = document.createRange(); var main= document.getElementById("main"); range1.setStart(main, 1); range1.setEnd(main, 4); var h1 = document.createElement("h1"); h1.style.color = "red"; h1.innerHTML = "唐诗诵读"; range1.insertNode(h1); } //高亮显示范围内容 function createrange() { var range1 = document.createRange(); var p= document.getElementsByTagName("p")[0]; var text = p.firstChild; range1.setStart(text, 24); range1.setEnd(text, 36); var span = document.createElement("span"); span.style.color = "red"; span.style.fontWeight = "bold"; range1.surroundContents(span); }