複数の単語をスパンで囲む必要があります。各単語の startIndex と endIndex を知っています (複数のタグにまたがる単語はなく、すべての単語が同じ要素にあると確信しています)。最初の単語を選択することさえできません。 「IndexSizeError: インデックスまたはサイズが負であるか、許可された量を超えています」と同様のエラーが表示されます ( 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);
ここにフィドルがあります:http://jsfiddle.net/pastrocchio/hgugQ/3/