【发布时间】:2015-08-18 23:31:03
【问题描述】:
我有以下 HTML 结构:
<ol>
<li><a id="a" href="#">Not this</a></li>
<li><a id="b" href="#">Not this</a></li>
<li><a id="c" href="#">This one</a></li>
<li class="active"><span>Not this</span></li>
</ol>
我想通过 CSS 选择 #c。我试过了:
ol > li:not(.active):last-child > a {
border: 1px solid green;
}
据我了解,li:not(.active) 选择所有 li 元素,但具有 .active 类的元素除外。
在这个选择中,我使用 :last-child 来获取这些 li 元素中的最后一个。但这行不通。怎么了?我想达到的目标有可能吗?
非常感谢:)
PS:列表长度是动态的,元素没有任何可用于 CSS 选择的 id(我只是在示例中使用了一些来说明我要选择哪个元素); )
【问题讨论】:
-
当
active课程开始时,假设#b,您要定位哪一个?#a(最后一个)还是#d(最后一个没有.active)?不要忘记 :last-child 的支持是 IE9+ -
好吧,活动类总是在最后一个元素上。浏览器支持对我来说不是问题:)
-
你想总是访问倒数第二个孩子吗??
-
@Dimple:是的,有点……:)
-
@PraveenKumar:我接受并接受了;)非常感谢您的努力!
标签: html css css-selectors pseudo-class