[英]Add class “item_active” to parent LI when a child LI has “item_active”
这应该很容易,但是以某种方式我还没有得到。 希望您能够帮助我。
简而言之:当子LI之一也具有该类时,我希望父LI可以添加一个“ item_active”类。
<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具有类“ item_active”。
在这种情况下,我希望jQuery在我的情况下将类“ item-active”添加到LI中,而类为“ dropdown”。
我尝试了许多不同的事情。 这可能是最接近的,但它什么也没做:
$('.navbar-nav li ul li').each(function(){
if($(this).hasClass('item_active')) {
$(this).closest('.dropdown').addClass('item_active');
}
});
我在SO中阅读了许多不同的答案,但没有一个解决了这个问题。
您提供的小提琴不使用jQuery。 加载它,它将起作用。
演示: https : //jsfiddle.net/dirtyd77/cxnx1147/6/
另外,请记住,引导程序会使用覆盖属性的特定类。 仅仅因为您看不到该类,并不意味着它尚未添加到元素中。
为了说明这一点,我使用了以下内容:
.item_active {
background: yellow!important;
}
需要特别注意的是, !important
并不是很好的做法。 希望这可以帮助。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.