| 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: 14 let
|
|||
0