Autor | Zpráva | ||
---|---|---|---|
parent Profil * |
#1 · Zasláno: 7. 5. 2012, 12:41:11
Zdravím, mám element v javascriptu u kterého potřebuju získat jeho pra-pra-prarodiče
Je nějaký lepší způsob jak to udělat než element.parentNode.parentNode.parentNode.parentNode ? Něco jako parentNode[5] třeba.. díky |
||
Chamurappi Profil |
#2 · Zasláno: 7. 5. 2012, 14:01:55
Reaguji na parenta:
Pokud vím, tak není. Žádná metoda na získání kolekce předků v DOMu neexistuje. |
||
ShiraNai7 Profil |
parent:
Můžes na to použít jednoduchou funkci: function getParentNodes(node) { var nodes = []; while(node = node.parentNode) nodes.push(node); return nodes; } Poté např: getParentNodes(element)[5] edit - pokud bys pouze chtěl získávat n-tého rodiče, tak: function getNthParentNode(node, number) { var n = 0; while(true) { ++n; node = node.parentNode; if(!node || n === number) { return node; } } } |
||
Chamurappi Profil |
#4 · Zasláno: 7. 5. 2012, 14:25:44
Reaguji na ShiraNaiho7:
„console.log(number, n);“ Pokud tam tohle zapomene, rozbije se mu skript v prohlížečích bez console .
„pokud bys pouze chtěl získávat n-tého rodiče“ Nebylo by to jednodušší takhle? function getNthParentNode(node, number) { while(node && number--) node = node.parentNode; return node; } |
||
ShiraNai7 Profil |
Chamurappi:
„Pokud tam tohle zapomene, rozbije se mu skript v prohlížečích bez console.“ Odstraněno, zapomněl jsem to tam při testování. |
||
Časová prodleva: 12 let
|
0