js将json转成树html

来源:互联网 发布:windows截屏快捷键alt 编辑:程序博客网 时间:2024/05/19 17:04
var  treeJson = [{
    "name": "1级菜单A",
    "link": "###",
    "isleaf": false,
    "level": 0,
    "children": [
        {
            "name": "2级菜单A",
            "link": "###",
            "isleaf": false,
            "level": 1,
            "children": [
                {
                    "name": "3级菜单A1",
                    "link": "###",
                    "isleaf": true,
                    "level": 2,
                    "children": null
                },
                {
                    "name": "3级菜单A2",
                    "link": "###",
                    "isleaf": true,
                    "level": 2,
                    "children": null
                }
            ]
        },
        {
            "name": "2级菜单2",
            "link": "###",
            "isleaf": false,
            "level": 1,
            "children": [
                {
                    "name": "3级菜单3",
                    "link": "###",
                    "isleaf": true,
                    "level": 2,
                    "children": null
                }
            ]
        }
    ]
},
{
    "name": "1级菜单B",
    "link": "###",
    "isleaf": false,
    "level": 0,
    "children": [
        {
            "name": "2级菜单B",
            "link": "###",
            "isleaf": false,
            "level": 1,
            "children": [
                {
                    "name": "3级菜单B1",
                    "link": "###",
                    "isleaf": true,
                    "level": 2,
                    "children": null
                },
                {
                    "name": "3级菜单B2",
                    "link": "###",
                    "isleaf": true,
                    "level": 2,
                    "children": null
                }
            ]
        },
        {
            "name": "2级菜单2",
            "link": "###",
            "isleaf": false,
            "level": 1,
            "children": [
                {
                    "name": "3级菜单3",
                    "link": "###",
                    "isleaf": true,
                    "level": 2,
                    "children": null
                }
            ]
        }
    ]

}];


var makeTree = function(parentObj,treeJson){
var ulObj = $("<ul></ul>");
for(var i=0; i<treeJson.length;i++){
var childHtml ="<li>";
var aHtml = "<a href="+treeJson[i].link+">"+treeJson[i].name+"</a>"

childHtml+=aHtml;
childHtml+="</li>";
var childObj = $(childHtml);
if(treeJson[i].children != null && treeJson[i].children.length>0){
makeTree(childObj,treeJson[i].children);
}
$(ulObj).append(childObj);
}




$(parentObj).append($(ulObj));
};


var parentObj = $("#treediv");
makeTree($(parentObj),treeJson);



jsp: 
<body>
<div id="treediv">

</div>
</body>


最后的效果:

<html>
 <head></head>
 <body>
  <div id="treediv"> 
   <ul> 
    <li><a href="###">1级菜单A</a>
     <ul>
      <li><a href="###">2级菜单A</a>
       <ul>
        <li><a href="###">3级菜单A1</a></li>
        <li><a href="###">3级菜单A2</a></li>
       </ul></li>
      <li><a href="###">2级菜单2</a>
       <ul>
        <li><a href="###">3级菜单3</a></li>
       </ul></li>
     </ul></li>
    <li><a href="###">1级菜单B</a>
     <ul>
      <li><a href="###">2级菜单B</a>
       <ul>
        <li><a href="###">3级菜单B1</a></li>
        <li><a href="###">3级菜单B2</a></li>
       </ul></li>
      <li><a href="###">2级菜单2</a>
       <ul>
        <li><a href="###">3级菜单3</a></li>
       </ul></li>
     </ul></li>
   </ul>
  </div>
 </body>
</html>



  • 1级菜单A
    • 2级菜单A
      • 3级菜单A1
      • 3级菜单A2
    • 2级菜单2
      • 3级菜单3
  • 1级菜单B
    • 2级菜单B
      • 3级菜单B1
      • 3级菜单B2
    • 2级菜单2
      • 3级菜单3

0 0
原创粉丝点击