2010-05-04 16 views

回答

0

那麼,這是我開發的答案,以防其他人必須解決這個問題。當然有更好的方法來做到這一點等等。

function walk_tree(node, parent_stem, at_root) { 

    if (node == null || node == undefined || $(node) == undefined) 
     return ; 

    var i = 0 ; 
    var serialized_tree = '' ; 
    var stem = '' ; 

    // loop through siblings 
    do { 

     // build up the serialized statement for this node 
     stem = parent_stem + '[' + i + ']' ; 
     serialized_tree += (at_root ? '' : '&') + stem + '[id]=' + $(node).identify().gsub('page_','') 

     // if node has children, then recurse... 
     if ($(node).down('li') != undefined) 
      serialized_tree += walk_tree($(node).down('li'), stem, false) ; 

     // carry on finding siblings 
     node = $(node).next('li') ; 
     i++ ; 
    } while ($(node) != undefined) ; 

    return(serialized_tree) ; 

} ;