我有基于树结构的菜单,默认情况下子列表已关闭,我只想显示li锚a
有active
类的列表块。
我尝试了一些事情,但我在针对正确的元素时做错了。
让我们说我想保持关于部分打开,因为它有子菜单,其中一个元素有active
类
<li><a href="#" class='active'>Mission</a></li>
<h1>Click on Contact</h1>
<div class="page-left-bar">
<ol id='expList'>
<li><a href="#">Home</a></li>
<li><a href="#">News</a></li>
<li><a href="#">Contact</a>
<ol>
<li><a href="">Sub menu</a></li>
<li><a href="#">Sub menu long name</a></li>
<li><a href="#">Sub menu</a></li>
<li><a href="#">Sub menu</a></li>
</ol>
</li>
<li><a href="#">About </a>
<ol>
<li><a href="#" class='active'>Mission</a></li>
<li><a href="#">Vision</a></li>
<li><a href="#">Sub menu</a></li>
<li><a href="#">Sub menu</a></li>
</ol>
</li>
</ol>
</div>
答案 0 :(得分:3)
你可以把代码放在document.ready中,然后检查更新的jsfiddle ......
<强> HTML 强>
<h1>Click on Contact</h1>
<div class="page-left-bar">
<ol id='expList'>
<li><a href="#">Home</a></li>
<li><a href="#">News</a></li>
<li><a href="#">Contact</a>
<ol>
<li><a href="">Sub menu</a></li>
<li><a href="#">Sub menu long name</a></li>
<li><a href="#">Sub menu</a></li>
<li><a href="#">Sub menu</a></li>
</ol>
</li>
<li><a href="#">About </a>
<ol>
<li><a href="#" class='active'>Mission</a></li>
<li><a href="#">Vision</a></li>
<li><a href="#">Sub menu</a></li>
<li><a href="#">Sub menu</a></li>
</ol>
</li>
</ol>
</div>
<强> JQUERY 强>
$(document).ready(function(){
$("#expList > li").click(function () {
$(this).find("ol").slideToggle();
});
$('#expList > li').children().has('.active').css('display', 'block');
});
答案 1 :(得分:1)