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