<div id="root">text left<span id="bound"> text in span </span>text right</div>
<script>
rng= document.createRange(); // создаём Range
bound= document.getElementById("bound"); // спанчик)
root= document.getElementById("root"); // дивчик)
rng.setStart(root.firstChild, 2); // внутри текстовой ноды - смещение в символах
rng.setEnd(root, 1); // внутри ELEMENT_NODE - смещение в нодах
b= document.createElement("b");
rng.surroundContents(b);
alert(rng.startContainer.id+" "+rng.startOffset); // показано смещение в нодах внутри div.root
alert(rng.endContainer.id+" "+rng.endOffset); // то же самое и тут.
alert(rng.toString());
</script>
Теперь, собственно, вопрос. Есть возможность узнать, было ли смещение задано в текстовой ноде внутри контейнера либо же в самом контейнере?