我正在使用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的子节点是叶子:(。非常感谢您的时间和反馈。
elshae
答案 0 :(得分:1)
我刚刚开始使用TreePanel,我认为你必须编写你的函数来遍历树并使用leaf
属性测试节点是否为叶子。如果您想要在叶子上执行特定功能,则可以使用cascade()
自动遍历树,沿途测试leaf
属性并执行代码。
答案 1 :(得分:0)
您应该查看TreePanel,我认为TreeGrid可能会在最新的ext版本(3.3)中弃用。它有大量的get / set / traversal函数,请在API中查看:http://dev.sencha.com/deploy/dev/docs/?class=Ext.tree.TreePanel