У меня есть объект 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 предлагает решение.
РЕДАКТИРОВАТЬ 2: Смотря исходный код jQuery, кажется, что он опирается на nextSibling.