2014-08-28 12 views

Odpowiedz

3

Musisz przeszukać drzewo, więc po prostu zapamiętaj rodzica i zwróć je, jeśli znalazłeś właściwe dziecko.

I bawił coś: http://jsfiddle.net/jftrg9ko/1/

function getParent(tree, childNode) 
{ 
    var i, res; 
    if (!tree || !tree.folder) { 
     return null; 
    } 
    if(Object.prototype.toString.call(tree.folder) === '[object Array]') { 
     for (i in tree.folder) { 
      if (tree.folder[i].id === childNode) { 
       return tree; 
      } 
      res = getParent(tree.folder[i], childNode); 
      if (res) { 
       return res; 
      } 
     } 
     return null; 
    } else { 
     if (tree.folder.id === childNode) { 
      return tree; 
     } 
     return getParent(tree.folder, childNode); 
    } 
} 
+0

To jest dokładnie to, co szukałem, bardzo dziękuję .. :) –

Powiązane problemy