我需要用spans包围多个单词,我知道每个单词的startIndex和endIndex(我确定没有单词会跨越多个标签,所有单词都在同一个元素中) 我甚至无法选择第一个单词,我得到“IndexSizeError:索引或大小为负数或大于允许的数量”和rangy(http://jsfiddle.net/pastrocchio/hgugQ/7/)类似的错误我做错了什么?
var range = document.createRange();
startNode = document.getElementById("texttocheck");
range.setStart(startNode, 0);
range.setEnd(startNode, 4);
var newNode = document.createElement("span");
range.surroundContents(newNode);
答案 0 :(得分:8)
我想通了,我错过了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);