如果类存在且匹配位置,则将类添加到父级和子级

时间:2016-05-31 22:04:59

标签: javascript jquery

我有一个带子菜单的垂直切换菜单,如果我匹配该位置,则尝试添加它们。在添加类之前,应检查父项上是否存在“活动”类。

它有多深,它应该添加到任何父(li.active)类“open”和子(ul.nav)“display:block”如果匹配的位置保持菜单打开。

nav.main-cat
> li.active
>> a.nav-sub
>> ul.nav
>>> li.active
>>>> a.nav-sub

守则

$('.main-cat a').filter(function () {
    return this.href == url;
}).parent().find('.active').addClass('open').children().next('.nav').css('display','block');

我的问题是它只会在最深的菜单中添加类。

1 个答案:

答案 0 :(得分:1)

  

它应该添加到任何父级(li.active)

我想这个位.parent().find('.active')可以替换为.parent('.active')

如果您想要所有选定a的父母,则需要致电.parents('.active')

最后,这个位.css('display','block')一定要进入CSS。

发布一个小提琴,以便我们可以更准确地看。