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寫了一下 還是希望能請樓主自己練習一次
//原資料
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寫了一下
還是希望能請樓主自己練習一次