我正在使用Ext JS庫創建我的應用程序。我有一個樹面板,有樹節點和子樹節點。這些樹節點具有我希望能夠訪問的葉子。我一直在尋找了一段時間,但無法找到的屬性的函數來訪問葉子:(在Ext JS樹中訪問TreeNode的葉子
一些代碼是在這裏:
var i;
var j = 0;
var selectedLayers = new Array();
while(layerRoot.lastChild.hasChildNodes()){
alert(layerRoot.lastChild.firstChild);
for(i = 0; i < layerRoot.lastChild.firstChild.childNodes.length; i++){
if(layerRoot.lastChild.firstChild.childNodes[i].isSelected()){
selectedLayers[j] = layerRoot.lastChild.firstChild.childNodes[i].attributes.text;
alert(selectedLayers[j]);
j++;
}
}
layerRoot.lastChild.removeChild(layerRoot.lastChild.firstChild);
}
layerRoot.removeChild(layerRoot.lastChild);
我試過layerRoot.lastChild.firstChild.childNodes,但是,這並不工作,因爲layerRoot.lastChild.firstChild的孩子葉子:(。你的時間和反饋是非常讚賞。
elshae
我厭倦了使用級聯函數,它不是我想要的,或者我可能只是不明白它。這是我做的:while(layerRoot.lastChild.hasChildNodes())layerRoot.lastChild.firstChild.cascade(function(){if(this.ui.isChecked()){ alert(this.attributes .text +「is checked」); //} });問題是,this.attributes.text返回父節點,this.attributes.geoserver.text返回null – elshae 2010-10-20 18:57:50
我忘了補充說,你傳遞給'cascade'的函數的返回值決定了它是否一直沿樹遍歷。 – 2010-10-20 19:14:08
:)謝謝!現在肯定會通過每一片葉子,但是有一件事: -/ {alert(node.attributes.text +「checked」); } 返回undefined,這是爲什麼? – elshae 2010-10-20 19:37:49