由于某些性能原因,我试图找到一种仅选择所选节点中同级节点的方法。例如,
<div id="outer"> <div id="inner1"> </div> <div id="inner2"> </div> <div id="inner3"> </div> <div id="inner4"> </div> </div>
如果选择了inner1节点,是否可以访问其兄弟inner2-4节点?
inner2-4
好吧…确定…先拜访父母,再拜访孩子。
node.parentNode.childNodes[]
或者…使用jQuery:
$('#innerId').siblings()
编辑:Cletus一如既往地鼓舞人心。 我进一步挖掘。这就是jQuery本质上如何获得兄弟姐妹的方式:
function getChildren(n, skipMe){ var r = []; for ( ; n; n = n.nextSibling ) if ( n.nodeType == 1 && n != skipMe) r.push( n ); return r; }; function getSiblings(n) { return getChildren(n.parentNode.firstChild, n); }