1

我有一个三层深的菜单,我想要的是活动类在父 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');
  }
});
4

2 回答 2

1

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

$('#main_menu li a[href$="' + path + '"]').parents('li').last().addClass('active');
于 2012-11-25T16:28:36.730 回答
1

如果你想成为比当前父母更高的父母,你可以做 .parents('li').parents('li')。如果更高的父母有一个班级,例如<li class="grandparents">你可以使用 .closest('.grandparents')

于 2012-11-25T16:11:46.400 回答