我到处搜索,但似乎无法弄清楚如何执行此操作。我有一个包含子导航的菜单。我希望能够在选择子 li
时突出显示父 li
。我已经想出如何让 child 被选中而不是 parent 。请帮忙。
Javascript
$('.nav a').each(function (index) {
if (this.href.trim() == window.location) {
$(this).addClass("selected");
}
});
HTML
<ul class="nav">
<li><a id="A2" href="~/" runat="server">HOME</a></li>
<li><a href="/about.aspx">ABOUT US</a></li>
<li class="dropdown"><a href="#contact" role="button" class="dropdown-toggle" data-toggle="dropdown">PRODUCTS</a>
<ul class="dropdown-menu" role="menu">
<li><a href="/products-access-control.aspx">Product 1</a></li>
<li><a href="/products-time-attendance.aspx">Product 2</a></li>
<li><a href="/products-service.aspx">Product 3</a></li>
<li><a href="/partner-solutions.aspx">Product 4</a></li>
</ul>
</li>
<li><a href="#" ID="newslink1" runat="server">NEWS</a></li>
<li><a href="/contact.aspx">CONTACT US</a></li>
</ul>
最佳答案
当您在 $(this)
上设置 selected
类时,您还可以执行 $(this).parent().addClass("selected")
。 parent()
可以被一次又一次地调用到树上(li -> ul -> li 等)。
关于jquery - 将类添加到子元素的父 li 处于事件状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18257127/