首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >高光菜单项

高光菜单项
EN

Stack Overflow用户
提问于 2012-01-26 18:28:47
回答 2查看 59关注 0票数 0

我有一个只有一页的网站,菜单如下:

代码语言:javascript
运行
复制
<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>

当我点击项目1时,项目2-2保持兴奋。

有什么办法解决这个问题吗?

EN

回答 2

Stack Overflow用户

发布于 2012-01-26 18:34:36

代码语言:javascript
运行
复制
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
    });
}); 
票数 1
EN

Stack Overflow用户

发布于 2012-01-26 18:47:02

未经测试,但尝试替换

代码语言:javascript
运行
复制
J(this).addClass('current');
J(this).siblings().removeClass('current');

使用

代码语言:javascript
运行
复制
J('ul.nav .current').removeClass('current');
J(this).addClass('current');

问题是同级选择器只能找到同级元素,而不是其他元素。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9016763

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档