需求:EXTJS定义的一个树,后台返回JSON中的结点带有disable属性(非叶子结点也有可能)。要求能移除disabled的节点。
方案:
function getDisabledNode(tree,node){
var p = null
if(null !=(p= node.firstChild)){
getDisabledNode(tree,p)
}else{
if(node.disabled){
p = node.parentNode
p.removeChild(node)
getDisabledNode(tree,p)
}
if(node == tree.getRootNode()){
return true
}
}
try{
getDisabledNode(tree,node.nextSibling)
}catch(e){}
}
EXT中定义tree 并增加一个按钮执行: getDisabledNode(tree,tree.getRootNode().firstChild)
函数运行前后对比。由于Enery foods 下有一个结点可用故而不能移除。程序虽然满足了需求,但总感觉好像有问题。不知道谁帮我看看。


正在加载
