Javascript 尝试在范围上使用setStart和setEnd时出错:未捕获索引SizeError:未能执行';setEnd';在';范围';

Javascript 尝试在范围上使用setStart和setEnd时出错:未捕获索引SizeError:未能执行';setEnd';在';范围';,javascript,range,Javascript,Range,当我尝试使用某个范围时,在控制台上出现以下错误: Uncaught IndexSizeError: Failed to execute 'setEnd' on 'Range': The offset 2 is larger than or equal to the node's length (0). 这是我的剧本: <script type="text/javascript"> function gotMark() { var range = docume

当我尝试使用某个范围时,在控制台上出现以下错误:

Uncaught IndexSizeError: Failed to execute 'setEnd' on 'Range': The offset 2 is larger than or equal to the node's length (0).
这是我的剧本:

<script type="text/javascript">
    function gotMark() {
        var range = document.createRange();
        var startNode = document.getElementById("dividTeste1").firstChild;

        range.setStart(startNode, 0);
        range.setEnd(startNode, 2);

        var newNode = document.createElement("span");
        range.surroundContents(newNode);
    }
</script>

函数gotMark(){
var range=document.createRange();
var startNode=document.getElementById(“dividTeste1”).firstChild;
range.setStart(startNode,0);
range.setEnd(起始节点,2);
var newNode=document.createElement(“span”);
range.surroundContents(newNode);
}
和第页:

<div class="ui-block-a" id="divid" value="div1">
    <div style="background-color: black; color: white; padding: 20px;" id="divid2">
        <h2>London</h2>
        <p id="dividTeste1">London is the capital city of England. It is the most
            populous city in the United Kingdom, with a metropolitan area of
            over 13 million inhabitants.</p>
    </div>

    <div style="background-color: black; color: white; padding: 20px;" id="divid2">
        <h2>London</h2>
        <p id="dividTeste2">London is the capital city of England. It is the most
            populous city in the United Kingdom, with a metropolitan area of
            over 13 million inhabitants.</p>
    </div>
</div>
<input type="button" value="Marcar com range" onClick="gotMark()"
        id="marcarconranger12" />

伦敦
伦敦是英国的首都。这是最重要的
英国人口稠密的城市,大都市区为
超过1300万居民

伦敦 伦敦是英国的首都。这是最重要的 英国人口稠密的城市,大都市区为 超过1300万居民


我试着按照中的说明选择开始和结束位置。

我找到了一行erro的解决方案

function gotMark() {
    var range = document.createRange();
    var startNode = document.getElementById("dividTeste1").firstChild;

    range.setStart(startNode, 0);
    range.setEnd(startNode, 2);

    var newNode = document.createElement("span");
   *newNode.className = 'highlight-yellow';*

    range.surroundContents(newNode);
}
现在选择已被取消