递归调用函数时返回的object通过打印有值,但是在获取的时候是undefined,原因是在递归函数内部没有对递归函数进行return,否则外层函数无法接收到返回值。
调用:
//获得公司树结构中的已选中节点
var selectedNode = $("#resourceTree").tree('getSelected');
//console.log(selectedNode);
var rootNode = getTreeRoot(selectedNode);
console.log('rootNode====')
console.log(rootNode);
if(rootNode !=null && rootNode != 'undefined' &&rootNode.text == '金控'){
alert('金控');
}else{
alert('非金控');
}
递归方法:
//获得公司结构的节点node对应的最上层节点
function getTreeRoot(node){
console.log('getTreeRoot====node');
console.log(node);
var parentNode = $("#resourceTree").tree('getParent',node.target);
console.log('getTreeRoot()=====');
console.log(parentNode);
if (parentNode == null){
console.log('getTreeRoot()=====null');
console.log(node);
return node;
}else{
console.log('getTreeRoot====else');
//这里需要对递归方法进行return
return getTreeRoot(parentNode);
}
}
---------------------
作者:雪落夜
来源:CSDN
原文:https://blog.csdn.net/a1017680279/article/details/72953887
版权声明:本文为博主原创文章,转载请附上博文链接!