我有一个基于引导的<UL> 导航树,其中当前页面路径中的每个<LI> 都被赋予“活动”类。所以如果我在首页以下两层的页面上,代码大概是这样的:
<ul>
<li>Link1</li>
<li>Link2</li>
<li class='active'>Link3
<ul>
<li>sublink1</li>
<li class=active>sublink2
<ul>
<li>subsublink1</li>
<li class=active>subsublink2 THIS IS MY PAGE</li>
</ul>
</li>
</ul>
</li>
问题是引导程序为所有 li.active 元素添加了边框。而且我只希望边框适用于最深的,即我实际所在的页面。
我不会弄乱引导程序的基础,所以我不会从整个路径中删除活动类。
我的目标是让 jQuery 删除不需要的边框。我想找到任何没有 li.active 子节点的 li.active,这表明它是路径中最深的 li.active。然后用 li.active 找到它的所有父母,并从他们身上删除边框。
我将如何构建该 JQUERY?
我在想这样的事情(知道 notHasClass 不存在):
$('li.active').children().notHasClass('active').parents.hasClass('active').css('border','none');