简单的递归,实现树结构菜单显示
来源:互联网 发布:ubuntu安装ssh服务 编辑:程序博客网 时间:2024/06/07 14:16
利用递归实现简单的树结构菜单
数据格式:
var data = [
{title: "11111",childs : [
{title:"aaaaa", childs:[
{title: "xg"}
]},
{title:"bbbbb"}
]
},
{title: "22222",childs : [
{title:"aaaaa"},
{title:"bbbbb"}
]
}
];
递归函数:
function menu(data){
var ul = "<ul>";
for(var i = 0; i < data.length; i++){
ul+="<li><a>"+data[i].title+"</a>";
if(data[i].childs){ul+=argument.callee(data[i].childs);}
ul+="</li>";
};
ul+="</ul>";
return ul;
}
调用:
var menu = menu(data);
结果:
也可以做成jq插件
var Menu = function(el,opt){
this.el = el;
//this.default = {}, // 插件默认参数,在这里不需要
this.opt = opt;
// this.opt = $.extend({},this.default,opt); // 插件默认参数和传参合并,在这里不需要
};
Menu.prototype = {
init: function(){
var opt = this.opt;
var ul = this.create(opt);
this.el.append(ul);
},
create: function(opt){
var ul = '<ul>';
for(var i = 0; i < opt.length; i++){
ul += '<li>'+opt[i].title;
if(opt[i].childred && opt[i].children != 'undefined'){
ul += arguments.callee(opt[i].childred)
}
ul += '</li>';
};
ul += '</ul>';
return ul;
}
}
$.fn.menu = function(opt){
// 这里的this是指$(select);
var menu = new Menu(this, opt);
return menu.init();
}
调用: $(select).menu(data);
结果和上面一样
会的人觉得简单,不会的人再简单也不会,这个我也是花了很长时间才写出来。
转载自:https://www.cnblogs.com/hyfl847/p/5852341.html
- 简单的递归,实现树结构菜单显示
- 只有两层结构的树型菜单 简单实现
- 使用Oracle数据库实现树形结构表的子-父级递归查询和删除,通过级联菜单简单举例
- 菜单树的java实现(菜单非递归实现)
- 总结,简单的树结构递归。
- js实现简单的隐藏导航菜单动态显示
- 一个Java的SWT菜单显示和递归调用的简单实例
- C# 递归显示 TreeView 树状菜单树!
- 使用"函数递归"实现的树型菜单
- 使用"函数递归"实现的树型菜单 (转)
- 用递归写的一个简单树结构
- 使用递归的方式显示树形结构
- 递归算法 实现树结构
- tab菜单的简单实现
- 简单的下拉菜单实现
- 递归显示目录结构
- 递归算法实现树型菜单
- 递归实现CSS菜单
- 手把手编写自己的PHP MVC框架实例教程
- 控件缩写大全
- 详解spring 每个jar的作用
- python 图像gamma校正
- Android 经典笔记之八:网络请求数据基础介绍
- 简单的递归,实现树结构菜单显示
- Fiori2.0学习笔记-核心技术框架&基本项目结构
- Webpack配置选项
- Unity3d iIween插件的研究
- JDK和JRE的区别
- Android O 前期预研之三:Android Vehicle HAL
- AndroidStudio项目import进的包都是红色的
- Android自定义视频录制时的带进度条的按钮
- TensorFlow训练遇到的问题总结