Z určitých důvodů výkonu se snažím najít způsob, jak vybrat pouze sourozenecké uzly vybraného uzlu.
Například,
<div id="outer"> <div id="inner1"></div> <div id="inner2"></div> <div id="inner3"></div> <div id="inner4"></div> </div>
Pokud jsem vybral uzel inner1, existuje způsob, jak získat přístup k jeho sourozencům, inner2-4
uzly?
Odpověď
No… jistě… stačí se obrátit na rodiče a potom na děti.
node.parentNode.childNodes[]
nebo… pomocí jQuery:
$('#innerId').siblings()
Edit:Cletus je jako vždy inspirativní. Kopal jsem dál. jQuery získává sourozence v podstatě takto:
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); }