本帖最后由 sibweo0916 于 2014-12-04 15:19:42 编辑

解决方案 »

  1.   

    $(function () {
        //原資料
        var list = [{ id: 1, name: '子菜单1', parentid: null }, { id: 2, name: '子菜单2', parentid: null }, { id: 3, name: '子菜单3', parentid: null }, { id: 4, name: '子菜单1.1', parentid: 1 }, { id: 5, name: '子菜单1.2', parentid: 1 }, { id: 6, name: '子菜单1.2.1', parentid: 5 }, { id: 7, name: '子菜单1.2.2', parentid: 5 }, { id: 8, name: '子菜单2.1', parentid: 2 }, { id: 9, name: '子菜单2.2', parentid: 2 }, { id: 10, name: '子菜单2.2.1', parentid: 9 }, { id: 11, name: '子菜单3', parentid: null }];
        
        var cache = {};
        var container = $('<ul>')
        var _prefix = "treenode_";    $.each(list, function (index, data) {
            var id = _prefix + data.id;
            var name = data.name;
            var parentid = data.parentid;        var jdom = $('<li id="' + id + '">' + name + '</li>');        cache[id] = jdom;        if (parentid) {
                var parent = cache[_prefix + parentid];
                var sub = parent.find('ul');            if (!sub.length) {
                    sub = $('<ul>').appendTo(parent);
                }            jdom.appendTo(sub);
            } else {
                jdom.appendTo(container);
            }
        });    container.appendTo('body');
        cache = null;
    });簡略用jquery寫了一下
    還是希望能請樓主自己練習一次