js tree 根据子节点找到所有父节点

Posted 程序员石磊

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js tree 根据子节点找到所有父节点相关的知识,希望对你有一定的参考价值。

利用深度优先遍历和递归

var acceptUnitNodes = null;//接收单位树形数据
 function  findParentNode(ids){ //ids 是子节点数组
    var parentNodes = [];//所有父节点
 	var forfun = function (id,nodes) {
		for(var i=0;i<nodes.length;i++){
			var currentNode = nodes[i];
			if(currentNode.id == id){
				return currentNode.id;
			}else if(currentNode.children){
				var validNodeId = forfun(id,currentNode.children);
				if(validNodeId&&parentNodes.indexOf(validNodeId)<0){
					parentNodes.push(validNodeId)
				}
				if(validNodeId){
					return currentNode.id;
				}

			}

		}
	}

	$.each(ids,function (i,item) {
		// selectedValues.push(item);
		var validNodeId = forfun(item,acceptUnitNodes);
		if(validNodeId&&parentNodes.indexOf(validNodeId)<0){
			parentNodes.push(validNodeId);
		}
	})

	 console.info(parentNodes);
	


 	return parentNodes;
 }


以上是关于js tree 根据子节点找到所有父节点的主要内容,如果未能解决你的问题,请参考以下文章

ElementUI tree控件怎么通过子节点去找到父节点

easyui Tree模拟级联勾选cascadeCheck,节点选择,父节点自动选中,节点取消,父节点自动取消选择,节点选择,所有子节点全部选择,节点取消,所有子节点全部取消勾选

Tree 通过父id找所有子节点

Delphi TreeView 选择父节点,选择所有子节点

如何实现单击tree的子节点得到其所有父节点的id

js 找到子元素的父元素