我无法 选择 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时,它应该从所有文件中删除开放类。
提前谢谢。
答案 0 :(得分:0)
首先,您应该注意,您的第二次点击绑定是不必要的,因为您要使用".sidebar ul li ul li a"
定位的元素已经被".sidebar ul li a"
定位,因为您没有使用直接后代选择器{{ 1}},因为你在两个函数中执行相同的操作,你可以删除它。
正如Arun在他的回答中评论的那样,你正在使用类选择器而不是后代选择器,但我仍然不相信修复会给你想要的结果。我相信这样做对您有用:
>