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-1.4.1.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>
//生成效果
分类:
js jq ajax
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 25岁的心里话
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
2013-01-17 C#关于面对象多态例子
2012-01-17 获取SQLServer数据库中所有表