代码之家  ›  专栏  ›  技术社区  ›  AkiRoss

jQuery:获取下一个节点(也是文本节点)

  •  3
  • AkiRoss  · 技术社区  · 16 年前

    我有一个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
    

    如果jQuery没有提供这个,我应该像上面那样使用DOM,还是有更好的选择?

    我使用.contents()对内容进行迭代,但是当您只需要下一个节点并且DOM提供了一个解决方案时,这是非常烦人的(而且速度很慢,还有许多其他不好的事情)。

    EDIT2:查看jQuery源代码,它似乎依赖于nextSibling。

    1 回复  |  直到 13 年前
        1
  •  7
  •   Tim Down    16 年前

    使用DOM。不要害怕它;这很简单,而且你似乎已经知道该用什么了。jQuery是在DOM之上构建的,对于这种情况,使用DOM实际上可以在比jQuery版本更多的浏览器中工作。