当child是当前选中的项时,将class =“active”添加到parent

时间:2014-03-08 19:50:12

标签: php jquery html css

这就是我的boostrap菜单中发生的事情。当我单击下拉列表中的任何项目时,子项被选中(class="active")但父项不是。因此,如果下拉菜单已关闭,则无法在菜单中看到所选页面。

<ul class="nav navbar-nav navbar-right">
  <li class="my-class"><a href="#">Home</a></li>
     <ul role="menu" class=" dropdown-menu">
      <li class="active"><a href="#">Brokerage</a></li>
      <li class="my-other-class"><a href="#">Consulting</a></li>
    </ul>
  </li>
  <li class="my-class"><a href="#">Contact Us</a></li>
</ul>

我正试着这样做,但它不起作用:

$('li').click(function() {
 $(this).parents().addClass('.active');  
});

有任何帮助吗?感谢。

2 个答案:

答案 0 :(得分:1)

你的jQuery中有一些错误:

$('li').click(function() {
   $(this).parent().addClass('active');  
});

1。)在你的情况下是parent(),而不是parents()

2。)addClass('active')是正确的,而不是addClass('.active')

Bootply Example

答案 1 :(得分:1)

您不应将.放在传递给addClass的班级名称中。此外,parents()选择其所有祖先。如果您只想要直接父母,请使用parent()(不带's')。

 $(this).parent().addClass('active');