繁体   English   中英

使用Jquery从Json对象获取父节点

[英]Getting Parent node from Json object with Jquery

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

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

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

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

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

我摆弄了一些东西: 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);
    }
}

得到所有的偶然性

var pars,k,v,chk;
    pars = [];
    $.each(json,function(k,v){
        chk = k;
        $.each(v,function(k,v)
            if(k === node){
                pars.push(chk);
            }
        })
    })

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM