为什么removeClass移除不了class属性

问题描述: 点击 .nav_li 的时候, 获取到 .nav_li 里面的子元素 ul ,然后给它添加 nav_li_on_2 class属性, 当我再点击 .nav_li 的其他同级按钮的时候, 就 要把当前的这个 .nav_li 里面 ul 添加的 class属性移除掉, 可是下面的代码 只能添加不能删除.....

    <script type="text/javascript">
        // 导航菜单的JS操作
        $(document).ready(function(){
            $(".nav_li").click(function(){
                $(this).find('ul').addClass("nav_li_on_2").siblings('.nav_li_on_2').removeClass("nav_li_on_2")
            })
        })
    </script>
阅读 4.5k
4 个回答
$(".nav_li").click(function(){
    $(this).find('ul').addClass("nav_li_on_2")
    $(this).siblings().find('ul').removeClass("nav_li_on_2")
})

打印下$(this).find('ul').siblings('.nav_li_on_2'), length为0就是没找到

 $(this).find('ul').addClass("nav_li_on_2").siblings('.nav_li_on_2').removeClass("nav_li_on_2")
 //找到ul然后添加class 其他移除class 这是所有ul遍历一遍添加和移除  写的有问题
 

siblings()是找兄弟元素的。写法上出了问题。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题