“找到”ul li嵌套在ul li中

时间:2013-08-21 07:24:33

标签: jquery

我无法 选择 ul --> li's嵌套在div内部ul --> li。这是我的代码:

// Navigation
$(document).ready(function() {

    // Click function

    $(".sidebar ul li a").on("click", function() {
        $(this).parent().addClass('open').find("ul.submenu").stop("true", "true").slideDown().addClass('active');
        $(this).parent().siblings().removeClass('open').find("ul.submenu").stop("true", "true").slideUp().removeClass('active');
        $(this).parent().siblings("ul.submenu.ul.li a").removeClass('open'); //<-- This is not working.
    });

    $(".sidebar ul li ul li a").on("click", function() {
        $(this).parent().addClass('open');
        $(this).parent().siblings().removeClass('open');
    });
});

我评论说这部分是不起作用的,其余的都工作正常。 基本上,第一个函数将类 .open 添加到单击的li,并打开包含子ul的嵌套div,如果点击了另一个div,则下一行会移除该课程并关闭li

第二组处理从ul li ul li中添加和删除open class。

问题在于第一组的第三个功能,当点击一个ul li时,它应该从所有文件中删除开放类。

提前谢谢。

1 个答案:

答案 0 :(得分:0)

首先,您应该注意,您的第二次点击绑定是不必要的,因为您要使用".sidebar ul li ul li a"定位的元素已经被".sidebar ul li a"定位,因为您没有使用直接后代选择器{{ 1}},因为你在两个函数中执行相同的操作,你可以删除它。

正如Arun在他的回答中评论的那样,你正在使用类选择器而不是后代选择器,但我仍然不相信修复会给你想要的结果。我相信这样做对您有用:

>