html js 动态添加树形菜单,用html+css+js实现一个无限级树形控件

树形菜单示例

list-style: none;

}/*可展开*/.switch-open

{

margin-left:-12px;

border:6px solid transparent;

display:inline-block;

width:0px;

height:0px;

border-top-color: black;

}/*展开完毕*/.switch-close

{

margin-left:-12px;

border:6px solid transparent;

display:inline-block;

width:0px;

height:0px;

border-left-color: black;

margin-bottom: 2px;

}/*改变CheckBox样式*/input[type='checkbox']{

width: 20px;

height: 20px;-webkit-appearance:none;-moz-appearance: none;

border: 1px solid #c9c9c9;

border-radius: 3px;

outline: none;

color:white;

text-align: center;

}

input[type='checkbox']:before

{

content:'√';

color:transparent;

}

input[type=checkbox]:checked{

background-color: #30add6;

}

input[type=checkbox]:checked:before{

content:'√';

color:white;

font-weight: bold;

}

//结构

var json={'0-0':{'0-0-0':null,'0-0-1':{'0-0-1-0':null,'0-0-1-1':null,'0-0-1-2':null},'0-0-2':null},'0-1':{'0-1-0':null,'0-1-1':null},'0-2':null};//这里生成DOM

function generate(json,par)

{for(var attr injson)

{var ele=document.createElement('li');if(!json[attr])

ele.innerHTML=''+attr;else{

ele.innerHTML=''+attr+'';var nextpar=document.createElement('ul');

ele.appendChild(nextpar);

generate(json[attr],nextpar);

}

par.appendChild(ele);

}

}

generate(json,document.getElementById('container'));//处理展开和收起

function toggle(eve)

{var par=eve.parentNode.nextElementSibling;if(par.style.display=='none')

{

par.style.display='block';

eve.className='switch-open';

}else{

par.style.display='none';

eve.className='switch-close';

}

}//处理全部勾选和全部不选

function checkChange(eve)

{var oul=eve.parentNode.nextElementSibling;if(eve.checked)

{for(var i=0;i

{

oul.querySelectorAll('input')[i].checked=true;

}

}else{for(var i=0;i

{

oul.querySelectorAll('input')[i].checked=false;

}

}

}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
编译原理是计算机专业的一门核心课程,旨在介绍编译程序构造的一般原理和基本方法。编译原理不仅是计算机科学理论的重要组成部分,也是实现高效、可靠的计算机程序设计的关键。本文将对编译原理的基本概念、发展历程、主要内容和实际应用进行详细介绍编译原理是计算机专业的一门核心课程,旨在介绍编译程序构造的一般原理和基本方法。编译原理不仅是计算机科学理论的重要组成部分,也是实现高效、可靠的计算机程序设计的关键。本文将对编译原理的基本概念、发展历程、主要内容和实际应用进行详细介绍编译原理是计算机专业的一门核心课程,旨在介绍编译程序构造的一般原理和基本方法。编译原理不仅是计算机科学理论的重要组成部分,也是实现高效、可靠的计算机程序设计的关键。本文将对编译原理的基本概念、发展历程、主要内容和实际应用进行详细介绍编译原理是计算机专业的一门核心课程,旨在介绍编译程序构造的一般原理和基本方法。编译原理不仅是计算机科学理论的重要组成部分,也是实现高效、可靠的计算机程序设计的关键。本文将对编译原理的基本概念、发展历程、主要内容和实际应用进行详细介绍编译原理是计算机专业的一门核心课程,旨在介绍编译程序构造的一般原理和基本

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值