Javascript Can';t范围为set.Start set.setEnd的环绕内容
我需要用跨距来包围多个单词,我知道每个单词的startIndex和endIndex(我确定没有单词会在多个标记中跨距,并且所有单词都在同一个元素中) 我甚至不能选择第一个单词,我得到“IndexSizeError:Index或size为负或大于允许的数量”和类似的rangy错误()我做错了什么Javascript Can';t范围为set.Start set.setEnd的环绕内容,javascript,range,Javascript,Range,我需要用跨距来包围多个单词,我知道每个单词的startIndex和endIndex(我确定没有单词会在多个标记中跨距,并且所有单词都在同一个元素中) 我甚至不能选择第一个单词,我得到“IndexSizeError:Index或size为负或大于允许的数量”和类似的rangy错误()我做错了什么 var range = document.createRange(); startNode = document.getElementById("texttocheck"); range.setStar
var range = document.createRange();
startNode = document.getElementById("texttocheck");
range.setStart(startNode, 0);
range.setEnd(startNode, 4);
var newNode = document.createElement("span");
range.surroundContents(newNode);
这是小提琴:我发现了,我错过了startnode.firstChild
var range = document.createRange();
startNode = document.getElementById("texttocheck");
range.setStart(startNode.firstChild, 0);
range.setEnd(startNode.firstChild, 4);
var newNode = document.createElement("span");
range.surroundContents(newNode);
您是只选择第一个单词还是全部单词?您必须使用createRange()还是可以使用其他方法?其中一些方法是错误的,这将是拼写检查