添加课程" item_active"当孩子LI有" item_active"

时间:2016-12-22 21:38:32

标签: javascript jquery

它应该很容易,但不知怎的,我还没有得到这个。希望您能够帮助我。

简单地说:我希望家长LI获得一个课程" item_active"当其中一个孩子的LI也有这个课程时加入。

<ul class="nav navbar-nav">
  <li class=""><a href="main"><span>Main</span></a></li>
  <li class="dropdown"><a href="services" class="dropdown-toggle" data-toggle="dropdown"><span>Services</span></a>
    <ul class="dropdown-menu">
      <li><a href="first"><span>First</span></a></li>
      <li class="item_active"><a href="second"><span>Second</span></a></li>
      <li><a href="third"><span>Third</span></a></li>
    </ul>
  </li>
  <li><a href="about"><span>About</span></a></li>
  <li><a href="contact"><span>Contact</span></a></li>
</ul>

您会看到子下拉菜单中的第二个LI有类&#34; item_active&#34;。

在这种情况下,我希望jQuery添加类&#34; item-active&#34;通过课程&#34;下拉&#34;到LI在我的情况下。

我尝试了很多不同的东西。这可能是最接近的,但它没有做任何事情:

$('.navbar-nav li ul li').each(function(){
    if($(this).hasClass('item_active')) {
        $(this).closest('.dropdown').addClass('item_active');
    } 
});

Fiddle here

我在SO中已经阅读了许多不同的答案,但没有解决这个问题的答案。

1 个答案:

答案 0 :(得分:1)

您提供的小提琴不使用jQuery。加载它,它会工作。

DEMO:https://jsfiddle.net/dirtyd77/cxnx1147/6/

另外,请记住,bootstrap使用覆盖属性的特定类。仅仅因为你不能“看到”这个类,并不意味着它没有被添加到元素中。

为了说明这一点,我使用了以下内容:

.item_active {
  background: yellow!important;
}

重要的是要注意!important不被视为良好做法。 希望这会有所帮助。

相关问题