树代码输出错误。逻辑错误

时间:2015-08-14 13:54:22

标签: javascript jquery html json algorithm

https://jsfiddle.net/mikeyounes/4ndtmaun/1/ https://api.myjson.com/bins/5a9vo

我正在使用html和jquery代码来获取json嵌套对象并将它们作为树输出。它的工作。问题是节点没有出现在正确的位置。例如,节点作为孩子出现而不是兄弟节点。我相信错误在于此功能。我可以给你整个代码和json但是当我发布它没有得到任何帮助时,它们太长了也许。长期坚持这一点,如果你检查出来,将不胜感激。

function traverse(node, o) {
    for (var i in o) {
        if(i == "__text" || i == "_href") {
            continue;
        }

        if (o[i] !== null && typeof(o[i])=="object") {
            if(o[i].__text) {

                var ul = $("<ul>").appendTo(node)
                var node=$('<li>').appendTo(ul)

                if(o[i]._href) {
                    var n = $("<span>").appendTo(node)
                    $(n).text(o[i].__text).attr("href", o[i]._href)
                } else {
                    $(node).text(o[i].__text)
                }
            }
        } traverse(node,o[i]);
    } else {
        var ul = $("<ul>").appendTo(node)
        if(o[i].__text) {
            var li = $('<li>' + o[i]._text + '<\/li>').appendTo(ul)

            if(o[i]._href) {
                var n = $("<span>").appendTo(node)
                $(n).text(o[i].__text).attr("href", o[i]._href)
            }
        } else {
            $('<li>' + o[i] + '</li>').appendTo(node)
        }
    }
}

0 个答案:

没有答案