2011-04-19 74 views
0

我正在使用以下方式使用樹結構的網站上工作:創建一個列表,並且如果此列表的某個元素本身是一個列表,那麼它將使用appendChild附加到第一個列表。大名單放在一個名爲'樹'的分區。 我想訪問div'樹'的內容並通過節點來顯示它們。如何迭代DOM樹?

我試過用幾種方法編碼,但它不起作用,有人有任何想法如何做到這一點?

編輯(我的代碼太長)

+0

困惑你的意思... – 2011-04-19 09:29:56

+0

你能發表相關的代碼嗎? – Don 2011-04-19 09:30:38

回答

1

此功能迭代看看。你可以傳遞一個回調,是以父母和子女元素太:

_SU3.treeIterate = function(parent, callback) { 
    var children = _SU3.getChildren(parent); 
    for (var i = 0; i < children.length; i++) { 
     var child = children[i]; 
     callback(parent, child); 
     _SU3.treeIterate(child, callback); 
    }  
}; 

_SU3.getChildren = function(parent) { 

    var children = new Array(); 

    var childNodes = parent.childNodes; 
    if (childNodes == null) 
    return children; 

    for (var i = 0; i < childNodes.length; i++) { 
    var child = childNodes[i]; 
    if (child.tagName == "li" || child.tagName == "LI") { 
     children.push(child); 
    } 
    } 
    return children; 
}; 

注:在本例中的getChildren()函數只認定「立」項目。必要時修改。

0

如果你認爲你將需要上樹等幾個功能,我建議你必須通過一個DOM樹jsTree