将“活动”类分配给父问题

时间:2012-11-25 15:52:54

标签: jquery

我有一个三级深度菜单,我想要的是活动类继续使用父li,下面的代码在两个级别上工作,它将顶部菜单项显示为活动状态,下面显示一个,但是当它去的时候到第三级页面(ul ul ul li),最后一个ul菜单中的所有列表项都是活动的。有任何想法吗。我真的很喜欢jQuery,所以要善良; - )

$(document).ready(function(){
  var path = location.pathname.substring(1);
  if ( path ) {
   $('#main_menu li a[href$="' + path + '"]').parents('li').addClass('active');
  }
});

2 个答案:

答案 0 :(得分:1)

如果你想要父母高于当前的父母,你可以做.parents('li')。parents('li')。如果较高的父母有一个类,例如<li class="grandparents">你可以使用.closest('。grandparents')

答案 1 :(得分:1)

编辑:啊,你想要最老的祖先,所以在parent()之后添加last()。

$('#main_menu li a[href$="' + path + '"]').parents('li').last().addClass('active');