0

我正在使用 Ext JS 库来创建我的应用程序。我有一个具有树节点和子树节点的树面板。这些树节点具有我希望能够访问的叶子。我一直在寻找一段时间,但找不到访问叶子的属性函数:(

一些代码在这里:

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 的孩子是叶子 :(。非常感谢您的时间和反馈。

艾尔谢

4

2 回答 2

1

我也刚开始玩 TreePanel,我认为您必须编写函数来遍历树并使用该leaf属性测试节点是否为叶子。如果您想在叶子上执行特定的功能,您可以使用它自动为您遍历树,沿途cascade()测试属性并执行您的代码。leaf

于 2010-10-20T17:58:07.013 回答
0

您应该查看 TreePanel,我认为 TreeGrid 在最新的 ext 版本(3.3)中可能已被弃用。它有大量的 get/set/traversal 函数,请在 API 中查看:http: //dev.sencha.com/deploy/dev/docs/?class= Ext.tree.TreePanel

于 2010-10-20T21:55:54.813 回答