使用Jquery从Json对象获取父节点 [英] Getting Parent node from Json object with Jquery

查看:266
本文介绍了使用Jquery从Json对象获取父节点的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我试图通过子节点获取json对象中的父节点
我从客户端获取的json是多级目录层次结构
层次结构就像

I am trying to get parent node in json object by child it The json i am getting from client is a multilevel directory hierarchy the hierarchy is like

Root
   -
   -Folder-1
           -folder1(a)
           -folder1(b)
   -folder-2
   -folder-3
           -folder3(a)

我想要的是,
,当我把 folder3(a)的id应该给我 folder-3 的id和名称

what i want is, when I put folder3(a)'s id it should give me folder-3's id and name

这是实际json对象的小提琴 http://jsfiddle.net/jftrg9ko/

推荐答案

你有无论如何要搜索树,所以只要记住父母,如果你找到了合适的孩子就回来。

You have to search through the tree anyway so just remember the parent and return that if you found the right child.

我摆弄了一些东西: http://jsfiddle.net/jftrg9ko/1/

function getParent(tree, childNode)
{
    var i, res;
    if (!tree || !tree.folder) {
        return null;
    }
    if( Object.prototype.toString.call(tree.folder) === '[object Array]' ) {
        for (i in tree.folder) {
            if (tree.folder[i].id === childNode) {
                return tree;
            }
            res = getParent(tree.folder[i], childNode);
            if (res) {
                return res;
            }
        }
        return null;
    } else {
        if (tree.folder.id === childNode) {
            return tree;
        }
        return getParent(tree.folder, childNode);
    }
}

这篇关于使用Jquery从Json对象获取父节点的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆