Диапазон DOM может представлять любую непрерывную часть документа, и его границы могут находиться в любом месте документа (в том числе внутри узлов комментариев, сущностей и атрибутов).Он используется не только для выбора (хотя в сценариях HTML это наиболее распространенное использование).
Если узел граничного контейнера является элементом, то смещение - это число дочерних узлов контейнера до границы.Например, посмотрите на следующий диапазон (разделенный трубами):
<div id="foo"><img src="1.png">|<img src="2.png">|<img src="3.png"></div>
Здесь нет текстовых узлов вообще.Начало диапазона - после одного дочернего узла div, а конец - после двух дочерних узлов.Этот диапазон может быть создан следующим образом:
var div = document.getElementById("foo");
var range = document.createRange();
range.setStart(div, 1);
range.setEnd(div, 2);