由于某些性能原因,我试图找到一种方法,仅选择所选节点中的同级节点。
例如,

<div id="outer">
  <div id="inner1"></div>
  <div id="inner2"></div>
  <div id="inner3"></div>
  <div id="inner4"></div>
</div>
如果我选择了inner1节点,是否有办法访问其兄弟节点inner2-4节点?

最佳答案

好吧...确定...先拜访 parent ,再拜访 child 。

 node.parentNode.childNodes[]

或者...使用jQuery:
$('#innerId').siblings()

编辑:Cletus一如既往地鼓舞人心。我进一步挖掘。 jQuery本质上就是这样获得 sibling 的:
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);
}

关于javascript - 有没有办法选择同级节点?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/842336/

10-11 22:23
查看更多