Я получаю текстовый узел (node.nodeType == 3), возвращаемый из диапазона getSelection, например ::
var selectionRange = selection.getRangeAt(0);
var startContainer = selectionRange.startContainer;
Этот startContainer обычно является текстовым узлом, например, следующим html:
<p>Paragraph in <u>parag</u>raph.</p>
Результатом будет текстовый узел с текстом «raph».если |обозначает выделение:
<p>Paragraph in <u>parag</u>r|aph|.</p>
Правильно, выделенный текст является aph, а текстовый узел raph., потому что перед raph есть новый текстовый узел внутри u-узла.
Теперь, при вызове $(startContainer).prevAll().each(function(index, node) ...
я ожидал, что это вернет U (который содержит текстовый узел с parag) и другой текстовый узел (который содержит Paragraph in).
Однако он возвращает только U, а не текстовый узел дляслева от него.
Почему это?Как получить все узлы одного уровня перед моим startContainer, включая текстовые узлы с jQuery?