这是我的代码。
<div class="support-menu hidden-xs">
<nav class="vertical">
<ul>
<li>
<a href="#" class="active">Basic SQL</a>
<div>
<ul>
<li><a class="Database_Basic" target="_self" href="~/Database/Basic">Overview</a></li>
<li><a class="Database_SQLSyntax" target="_self" href="~/Database/SQLSyntax">SQL Syntax</a></li>
<li><a class="Database_Select" target="_self" href="~/Database/Select">SELECT</a></li>
</ul>
</div>
<a href="#" class="">SQL Function</a>
<div>
<ul>
<li><a class="Database_AVG" target="_self" href="~/Database/AVG">AVG</a></li>
<li><a class="Database_COUNT" target="_self" href="~/Database/COUNT">COUNT</a></li>
<li><a class="Database_MIN" target="_self" href="~/Database/MIN">MIN</a></li>
</ul>
</div>
</li>
</ul>
</nav>
以下是基于URL在li标签上添加活动的脚本。
<script>
var index = window.location.pathname.split('/')[1] + '_' +
window.location.pathname.split('/')[2];
$('ul.li.a').removeClass('active');
$('a.' + index).addClass('active');
</script>
所以我想要的是当li标签有活动类时,还要在parent a(anchor)标签上添加活动类
答案 0 :(得分:0)
以下jQuery行应该这样做:
$('a.' + index).closest('div').prev().addClass('active');
使用nearest(),它会搜索具有标记名DIV的所有父项,并选择离您最近的一个元素。 使用.prev(),您可以选择DIV上方的元素,在本例中为A元素。
答案 1 :(得分:0)
我没有测试过您的代码,因为您说这样做比在脚本标记中添加以下代码更好。
$('a.' + index).closest('div').siblings().removeClass('active');
$('a.' + index).closest('div').prev('a').addClass('active');
如果要跳过重复这些选择器,请将这些选择器分配给变量。