HTML, который выбирается:
some te<b>xt here is bold</b>ed, I guess
|______________________| <- the selection range
Итак, выбранный .toHtml () это:
<b>ere is bold</b>ed, I gue
но это не в оригинальном документе.
Итак, я хочу расширить выделение, чтобы оно содержало весь тег BOLD.
Это легко обнаружить, так как вам нужно просто выполнить тест, если
a = rangy.getSelection()
a.anchorNode.parentElement != a.focusNode.parentElement
В документации говорится, что для дальних диапазонов используется метод setStartBefore(Node)
: http://code.google.com/p/rangy/wiki/RangyRange
итак, я получаю текущий диапазон
b = a.getRangeAt(0)
и попробуйте установить StartBefore:
b.setStartBefore(a.anchorNode.parentNode)
и так как я делаю все это в консоли, я получаю немедленный ответ, говорящий
undefined
что могло бы быть причиной этого, и как мне обойти это, чтобы найти решение проблемы, которую я хочу решить?
UPDATE:
По предложению Тима Дауна я пробовал следующее:
Исходный текст:

Он должен был быть расширен, чтобы включить Масса Ef разве не должно быть?
ОБНОВЛЕНИЕ 2:
Решение (по Тиму Дауну)
