SOURCE

console 命令行工具 X clear

                    
>
console
var menuCate = [{
  "level": 1,
  "list": [{
    "name": "SEO设置",
    "url": "/setting/seo",
    "id": 1,
    "p_id": 0
  },
  {
    "name": "网站配置",
    "url": "#",
    "id": 4,
    "p_id": 0
  },
  {
    "name": "运营管理中心",
    "url": "#",
    "id": 6,
    "p_id": 0
  }]
},
{
  "level": 2,
  "list": [{
    "name": "新——头部-尾部配置",
    "url": "#",
    "id": 8,
    "p_id": 4
  },
  {
    "name": "账号管理",
    "url": "#",
    "id": 10,
    "p_id": 6
  }]
},
{
  "level": 3,
  "list": [{
    "name": "顶部-banner广告",
    "url": "/setmain/topbanner",
    "id": 11,
    "p_id": 8
  },
  {
    "name": "会员管理",
    "url": "#",
    "id": 15,
    "p_id": 10
  }]
},
{
  "level": 4,
  "list": [{
    "name": "会员信息管理",
    "url": "/operationsm/memberinfolist",
    "id": 16,
    "p_id": 15
  }]
}];
var html = '';
var menu = {};
for (var i = 0; i < menuCate.length; i++) {

  // 获取父级菜单
  var menuLevel = tempLevel = menuCate[i]['level'];
  var menuStr = '.nav-list ';
  while (--tempLevel > 1) {
    menuStr += '.submenu ';
  }
  menuLevel === 1 ? menuStr: menuStr += '> li';
  var navList = $(menuStr);

  // 插入对应子菜单
  var menulist = menuCate[i]['list'];
  for (var j = 0; j < menulist.length; j++) {
    menu = menulist[j];
    // 一级目录没有submenu所以要判断
    if (menuLevel === 1) {
      appendMenu(navList, menu);
    } else {
      navList.each(function(index, item) {
        if ($(item).attr('data-id') === menu.p_id.toString()) {
          appendMenu($(item).find('.submenu'), menu);
        }
      });
    }
  }

}

// 插入目录
function appendMenu(parentMenu, childMenu) {
  if (childMenu.url === '#') {
    html = '<li class="" data-id="' + childMenu.id + '"><a href="' + childMenu.url + '" class="dropdown-toggle"><i class="menu-icon fa fa-caret-right"></i><span class="menu-text">' + childMenu.name + '</span><b class="arrow fa fa-angle-down"></b></a><ul class="submenu"></ul></li>';
  } else {
    html = '<li class="" data-id="' + childMenu.id + '"><a href="' + childMenu.url + '"><i class="menu-icon fa fa-eye pink"></i><span class="menu-text">' + childMenu.name + '</span></a></li>';
  }
  parentMenu.append(html);
}
<ul class="nav nav-list">
</ul>