给出以下html:
<ul class="nav">
<li class="level0">..</li>
<li class="level0">..</li>
<li class="level0 active">
<a href="#">Category Name</a>
<ul class="level0">
<li class="level1 active">
<a href="#">Sub-category</a>
<ul class="level1">
<li class="level2 active">
<a href="#">I only want this link styled</a>
</li>
</ul>
</li>
</ul>
</li>
<li class="level0">..</li>
</ul>
我是如何设置嵌套链接的样式,考虑到每个父li还有一个'active'类?我以为我可以使用.nav .active:last-child > a
在上面的示例中工作,但是从那个li.level2中移除活动类,然后它会对它上面的li.level1进行样式化,但它不是(参见下面的jsfiddle)举个例子。)
我可能只是有一个脑力,但我想不出用css来定位该元素的方法。我唯一能想到的是使用javascript从父元素中删除'active'类,但我觉得必须有其他方法。
这是一个更精细的jsfiddle示例,它说明了两个测试用例:http://jsfiddle.net/K4e37/
这是否可以在不更改标记且不使用javascript的情况下实现?
编辑:我没有正确考虑最后一个孩子,但这里有一个更新的例子,它非常接近我想要的东西,只需要不要设置更高级别的元素:http://jsfiddle.net/K4e37/2/