【发布时间】:2016-05-15 12:26:50
【问题描述】:
给定以下 DOM:
<ul>
<li><a class="section_0">section_1 item_1</a></li>
<li><a class="section_0">section_1 item_2</a></li>
<li><a class="section_1">section_2 item_1</a></li>
<li><a class="section_1">section_2 item_2</a></li>
<li><a class="section_2">section_3 item_1</a></li>
<li><a class="section_2">section_3 item_2</a></li>
</ul>
如何选择每个部分的最后一个项目,从字符串“section_”开始,最后一个部分除外?
我不想更改 DOM 结构,因为它定义了子菜单树。
目标是在每个部分下方画一条线。
编辑:或者,我可以在每个部分的最后一个元素中添加一个特定的类,但我不希望这样做。
【问题讨论】:
-
更正:
li:last-child > a选择每个部分的最后一项。 -
您必须在标题部分定义类或将其定义为导入文件,然后才能按名称调用类。我以为你已经这样做了。
-
似乎没有你想要的纯 CSS 实现,而不必像你建议的那样在每个部分的最后一项中添加一个类。至少在CSS selectors level 4 实施之前不会。请参阅this post 中的 cmets。
-
@timolawi 好吧,那太糟糕了。
-
每个部分有多少个
<li>?您可以将document.querySelectorAll('li:nth-child(2n):not(:last-child)')用于每个部分的两个项目。
标签: css css-selectors