在子页面上将父项标记为活动

时间:2011-05-03 12:54:42

标签: javascript jquery css

我有一个由父级别的LI元素组成的导航栏。包含子页面的每个部分都嵌入了另一个无序列表。查看子元素的页面时,子LI使类“活动”,但父级不会。如何使用jQuery或CSS将活动类分配给父项?

2 个答案:

答案 0 :(得分:2)

使用closest()选择与选择器匹配的最近父级。因此,如果你的子元素是多个元素深,它仍然会找到正确的父元素而不是.parent(),它只会抓住直接的父母或.parents(),它会抓住所有父母,直到你的选择器。

$('.child').closest('.parent').addClass('active');

答案 1 :(得分:0)

它仍然是测试版,所以我不知道你是否已经使用过jQuery UI Menu(或者你还没有使用任何JavaScript)?但是,使用jQuery UI Menu,就像这样:

function activate_parent(e, u){
    $("#ui-active-menuitem").parents("li").filter(function(i){
        return !($(this).closest("ul").hasClass(".ui-menu-flyout"));
    }).find("a").addClass(".ui-state-hover");
    return;
}

$("#menu").menu({
    'focus': activate_parent
});