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

最佳答案

使用DOM。不要害怕。这很容易,您似乎已经知道要使用什么。 jQuery是在DOM之上构建的,对于这种事情,使用DOM实际上将比jQuery版本在更多的浏览器中工作。

09-28 05:43
查看更多