【示例】
-
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(), range2 = document.createRange(); var h1 = document.getElementsByTagName("h1")[0]; var h2 = document.getElementsByTagName("h2")[0]; range1.selectNodeContents(h1); range2.selectNodeContents(h2); range1.setEndAfter(h2.lastChild); console.log( range1.compareBoundaryPoints(Range.START_TO_START, range2) ); console.log( range1.compareBoundaryPoints(Range.END_TO_END, range2)); }