远光灯菜单项
High-light menu item
我有一个单页网站,菜单如下:
<ul id="menu-menu" class="nav">
<li id="1"><a href="#">Item 1</a></li>
<li><a href="#">Item 2</a>
<ul>
<li id="1" class="sub"><a href="#">Item 2-1</a></li>
<li id="1" class="sub"><a href="#">Item 2-2</a></li>
<li id="1" class="sub"><a href="#">Item 2-3</a></li>
</ul>
</li>
<li id="1"><a href="#">Item 3</a></li>
<li id="1"><a href="#">Item 4</a></li>
</ul>
菜单由JavaScript高亮显示:
<script type="text/javascript">
/* <![CDATA[ */
var J = jQuery.noConflict();
J(document).ready(function(){
J('.nav li:first').addClass('current');
J('ul.nav').each(function() {
J(this).find('li#1').each(function(i) {
J(this).click(function(){
J(this).addClass('current');
J(this).siblings().removeClass('current');
});
});
});
});
/* ]]> */
</script>
问题是,当我点击项目3,而不是项目2-2时,项目3仍然亮着。,并且当我点击项目1时,项目2-2保持高亮度。
有什么办法解决这个问题吗?
var J = jQuery.noConflict();
J(function(){
J('ul.nav li:first').addClass('current');
J('ul.nav li').click(function (e) {
J('ul.nav li.current').removeClass('current');
J(this).addClass('current');
e.stopPropagation(); // prevent the event click from bubbling up
});
});
未测试,但尝试替换
J(this).addClass('current');
J(this).siblings().removeClass('current');
带有
J('ul.nav .current').removeClass('current');
J(this).addClass('current');
问题是,同级选择器只找到那个、同级,而没有找到其他元素。
相关文章:
- 设计Django中当前导航菜单项的样式
- 将菜单项与滚动绑定时出现Jquery错误
- HTML5上下文菜单-当菜单项被点击时,访问最初被点击的元素
- 如何使活动菜单项具有突出显示样式
- 在上下文菜单项单击上显示侧边栏/弹出窗口的最佳方法是什么
- 如何在每个下拉菜单项的每个类别下输出链接
- 突出显示菜单项及其子菜单项
- 菜单项 - 单击淡入和淡出
- 更改母版页中菜单项的类
- 引导程序3-下拉菜单项中的取消按钮
- JQuery UI菜单防止子菜单项折叠
- 如果其中一个子菜单项处于活动状态,则展开下拉菜单
- 在表格最后一行(链接)中显示菜单,并在单击菜单项时显示模式窗口
- Joomla:菜单项指向同一页面中的不同位置
- 单击菜单项更改HTML内容
- 使用css更改所选菜单项的颜色
- Pebble.js菜单项渲染速度慢
- 选择单选按钮或下拉菜单项时自动更新PHP变量
- 无法拦截上下文菜单项单击
- 为引导菜单项创建指令