zoukankan      html  css  js  c++  java
  • js动态生成JSON树

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
        <title>无标题文档</title>
        <style type="text/css">
            body{
                font-size:14px;
                margin:0;}
            div{
                width:auto;
                height:auto;
                line-height:150%;}
            ul{
                list-style:none;
                margin-left:-20px;}
            ul li:hover{
                background-color:#DDDDDD;
                color:#FF0000;
                cursor:pointer;}
        </style>
    </head>
    <body>
    <div id="continer"></div>
    </body>
    </html>
    <script language="javascript" src="jquery.min.js"></script>
    <script language="javascript">
        //模拟数据
        var jsonData = [
            {"id":"1","name":"父节点1","url":"www.baidu.com","pid":"0"},
            {"id":"4","name":"父节点11","url":"","pid":"1"},
            {"id":"13","name":"父节点111","url":"","pid":"4"},
            {"id":"14","name":"父节点112","url":"","pid":"4"},
            {"id":"5","name":"父节点12","url":"","pid":"1"},
            {"id":"6","name":"父节点13","url":"","pid":"1"},
            {"id":"2","name":"父节点4","url":"","pid":"0"},
            {"id":"7","name":"父节点41","url":"","pid":"2"},
            {"id":"8","name":"父节点42","url":"","pid":"2"},
            {"id":"9","name":"父节点43","url":"","pid":"2"},
            {"id":"3","name":"父节点5","url":"","pid":"0"},
            {"id":"10","name":"父节点51","url":"","pid":"3"},
            {"id":"11","name":"父节点52","url":"","pid":"3"},
            {"id":"12","name":"父节点53","url":"","pid":"3"}
        ] ;
        //主方法,运用递归实现
        function createTree(jsons,pid){
            if(jsons != null){
                var ul = '<ul class="">' ;
                for(var i=0;i<jsons.length;i++){
                    if(jsons[i].pid == pid){
                        ul += '<li>' + jsons[i].name + "</li>" ;
                        ul += createTree(jsons,jsons[i].id) ;
                    }
                }
                ul += "</ul>" ;
            }
            return ul ;
        }
        $(function(){
            var ul = createTree(jsonData,0) ;
    
            $("#continer").append(ul) ;
    
            //控制菜单的隐藏显示
            $("ul[class] li").each(function(){
                $(this).click(function(){
                    $(this).next().toggle() ;
                }) ;
            }) ;
    
        }) ;
    </script>
    </body>
    </html>
  • 相关阅读:
    不要再浪费时间阅读文献技巧本
    Reporting Services 中的分页方式Report Builder 3.0
    国外实时数据库比较
    转VS2010 C++下编译调试MongoDB源码 代震军
    C#中异步和多线程的区别
    Python seems amazing!
    嵌入式(armcc)自动调用函数
    MSSQL2008 日志文件收缩
    萝卜地...分享;
    Apache配置多个站点;
  • 原文地址:https://www.cnblogs.com/hllive/p/5464987.html
Copyright © 2011-2022 走看看