如果不是直接父级:可以一直往上遍历,找到所有它的父级是li的元素可以使用:$('li').parents('li').addClass('class')
<!DOCTYPE html><html>
<head>
<title>测试页面2</title>
<meta charset="UTF-8"/>
<style>
.tdiv{
border:2px solid
}
</style>
<script>
function test(ele){
var pDiv=ele.parentNode
if(pDiv.className==" "){
pDiv.className="tdiv"
}else{
pDiv.className=" "
}
}
//还可以用classList,这种方法更流畅
function test2(ele){
var pDiv=ele.parentNode
if(pDiv.classList.contains("tdiv")){
pDiv.classList.remove("tdiv")
}else{
pDiv.classList.add("tdiv")
}
}
</script>
</head>
<body>
<div>
<a onclick="test(this)">测试</a>
</div>
</body>
</html>
你应该是想实现风琴菜单或者类似效果的吧?推荐使用jquery(轻量级的js封装组件)很方便的实现了风琴菜单。一定要用js的话代码太长了我给你点思路。首先为元素绑定onclick事件,一级li和二级li区别对待。你没说清楚哪里不明白,我就猜一下你是不知道如何选中二级节点的父节点。选中当前节点的父节点的方法是this.parentNode就是当前节点的父节点了。你可以if this.onclick 那么this.parentNode.class就改为什么什么。你试试欢迎分享,转载请注明来源:内存溢出
评论列表(0条)