Путаница в отношении атрибута начального контейнера объекта Browser Range - PullRequest
1 голос
/ 10 марта 2011

Я просматривал документацию для объекта диапазона, и меня немного смущает свойство начального контейнера объекта диапазона.Я предполагал, что начальный контейнер всегда будет текстовым узлом, но в книге сказано, что начальный контейнер также может представлять элемент.

Может ли кто-нибудь дать мне пример, показывающий, когда это будет иметь место?

1 Ответ

4 голосов
/ 10 марта 2011

Диапазон 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);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...