首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Jquery从Json对象获取父节点

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

Stack Overflow用户
提问于 2014-08-28 06:21:51
回答 2查看 10.6K关注 0票数 6

我试图通过子对象获取json对象中的父节点,我从客户端获得的json是一个多级目录层次结构,层次结构类似于

代码语言:javascript
复制
Root
   -
   -Folder-1
           -folder1(a)
           -folder1(b)
   -folder-2
   -folder-3
           -folder3(a)

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

这里是对实际json对象 http://jsfiddle.net/jftrg9ko/的操纵

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-08-28 06:45:12

无论如何,你必须在树中搜索,所以只要记住父母,如果你找到了正确的孩子,就把它返回。

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

代码语言:javascript
复制
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);
    }
}
票数 4
EN

Stack Overflow用户

发布于 2018-05-01 04:33:39

得到所有的视野

代码语言:javascript
复制
var pars,k,v,chk;
    pars = [];
    $.each(json,function(k,v){
        chk = k;
        $.each(v,function(k,v)
            if(k === node){
                pars.push(chk);
            }
        })
    })
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25542024

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档