У меня есть объект jQuery, и я должен получить следующий родственный узел, который может быть текстовым узлом. Например:
<div id="test">some text<br/>other text</div>
var test = $("#test");
var br = $("br", test);
alert(br.next().length); // No next ELEMENTS
alert(br.get(0).nextSibling.nodeValue); // "other text"
alert(br.get(0).nextSibling.nextSibling); // null
Уровень DOM 2 позволяет получить следующего брата NODE, но jQuery next() работает с элементами (я думаю, nodeType 1). Я спрашиваю об этом, потому что я уже использую jQuery и предпочитаю не касаться узлов DOM напрямую (также потому, что сам jQuery может обеспечивать уровень абстракции от DOM и может работать там, где уровень DOM 2 не поддерживается, но это только мысль).
Если jQuery не предоставляет этого, должен ли я использовать DOM, как указано выше, или есть варианты получше?
РЕДАКТИРОВАТЬ: я кое-что забыл: я не хочу получать ТОЛЬКО текстовые элементы, а любой узел, как это делает nextSibling. Я использую .contents() для перебора содержимого, но это довольно раздражает (и медленно, и много других плохих вещей), когда вам просто нужен следующий узел, а DOM предоставляет решение.
EDIT2: Глядя на исходный код jQuery, кажется, что он полагается на nextSibling.