展开子菜单列表 OL,如果其列表 li 中的任何一个具有活动类
Expand submenu list OL if any of the its list li has active class
我有基于树结构的菜单,默认情况下子列表是关闭的,我只想显示 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>
小提琴链接 https://jsfiddle.net/k2jqqbbk/1/
您可以通过将代码放在 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>
简讯
$(document).ready(function(){
$("#expList > li").click(function () {
$(this).find("ol").slideToggle();
});
$('#expList > li').children().has('.active').css('display', 'block');
});
在jQuery中试试这个:
$('.active').closest('ol').css('display', 'block');
https://jsfiddle.net/k2jqqbbk/3/
相关文章:
- 创建一个数组数组,没有任何重复的Javascript
- 任何一种简单的方法都可以将带有onload的元素作为目标
- 在scala或scalajs Diode中,现有类型中的任何一种都符合“;更新一个没有'还不存在”;
- 在字符串列表中搜索任何出现的单词,如果单词的第一个字符匹配,则高亮匹配单词.Javascript正则表达式
- 有没有一种方法可以使用任何浏览器扩展整个dom树'的开发工具
- 如果没有从下拉列表中选择任何值,则允许使用php、mysql、javascript将文本框添加到mysql表中
- 有没有一种优雅的方式来告诉esint,以确保我们're没有使用任何ES6语法/函数
- 什么'是从对象列表中一次编辑一个对象的正确Angular/Firebase方法
- 如果使用jquery在页面加载时未选择任何选项,如何禁用下拉列表
- 如何填充下拉列表,从javascript中的另一个下拉列表中排除任何一个选项
- Regex匹配除以7开头的10位数字以外的任何一组数字
- 如何从LiveCycle中的下拉列表将一个子窗体中的数据填充到另一个子窗体的文本字段
- JavaScript,如何检查字符是否为以下任何一种
- javascript循环需要显示隐藏列表onclick一次一个
- Javascript检查字符串是否在两个数组中的任何一个数组中
- AngularJS:如何创建一个模型,该模型为输入字段的动态列表保存一个数组
- 需要防止下拉列表被一遍又一遍地添加
- Jquery:如何使一个列表在一组列表中不可排序
- 如果一组下拉列表中的任何下拉列表值与其他下拉列表选择的值相等,则应删除整个其他下拉列表
- 是否有一种方法随机应用css属性从一个列表到一堆元素