JS 多级菜单的功能添加

JavaScript012

JS 多级菜单的功能添加,第1张

<script type="text/javascript">

var outName=""

window.onload=function(){

var len = document.getElementsByTagName('a').length

for(var i=0i<leni++)

{

document.getElementsByTagName('a')[i].id='a'+i

document.getElementsByTagName('a')[i].onclick=function(){

outName=Number(this.id.substring(1,this.id.length))

}

}

}

function appendLi(){

var ttt = document.getElementById('ttt').value

var ul = document.createElement('ul')

var li = document.createElement('li')

li.innerHTML=ttt

ul.appendChild(li)

document.getElementById('a'+outName).parentElement.appendChild(ul)

}

</script>

</head>

<body>

<div class="container">

<ul style="display: block">

<li><a href="#" style="font-size: 12px padding-left: 10px">人事管理</a></li>

<li><a href="#" style="font-size: 12px padding-left: 10px">部门管理</a></li>

<li><a href="#" style="font-size: 12px padding-left: 10px">考勤管理</a></li>

</ul>

</div>

<label>

<input type="checkbox" value="" />根目录</label>

<label><br>

<input id="ttt" type="text" value="" /><input type="button" value="添加" onclick="appendLi()"/></label>

</body>

1直接在body ready的时候运行 ShowMenu(obj,noid)这个函数,就可以直接打开了

2目测是

for(var i=0i<ul.lengthi++){if(i!=n){ul[i].className = "no"}}

for(var i=0i<span.lengthi++){if(i!=n){span[i].className = "no"}}

这2句把其他的都设置成不显示了

在生成的时候添加独特变量来区别,或者使用$(selector).eq(index)来数第几个。或者使用$(selector).each(function(i,dom){})来过滤选择特定的

一般树型结构都有特定的数据格式,如 parent : {name,list ,children : []},

查看对应节点的children的length大小 来判断是否有第二级菜单。