1

我有一些这样的标记:

<li>
  <span>
    <div>
      <a href="#" class="anchor menu-active">Afghanistan</a>
      <div class="container menu-visible"></div>
    </div>
   </span>
   <span>
      <div>
        <a href="#" class="anchor">Kabul(AFT)</a>
        <div></div>
      </div>
  </span>
</li>

我希望anchor根据li. 结果是<a href="#" class="anchor">Kabul(AFT)</a>应该被选中。这个anchor类中可以有任意数量的元素li

我想出了这个选择器:li .anchor:last-of-type,但它选择了那里的两个元素。

如何选择anchor该类的绝对最后一个元素?

4

2 回答 2

0

我没有看到您列出的项目,并且似乎您将所有项目都放在了同一个 li 中。

你为什么不做一个子列表:

<li>
  <a href="#">Afghanistan</a>
  <ul>
    <li>
      <a href="#">Kaboul(AFT)</a>
    </li>
   </ul>
</li>

如果您试图获取选择器的最后一个,则使用 last-child。如果您试图获取具有特定类的最后一个元素,那么

.anchor:last-of-type {}

是正确的选择。

也有这个帖子。

于 2012-05-09T04:08:37.840 回答
0

我最终使用了一些 javascript 来解决这个问题,因为使用基于 CSS 选择器的干净解决方案是不可能的。

最初,计划是抓取最后一个.anchor并获取它的x坐标y,以计算叠加的一组坐标。

解决方案是获取 parent 的坐标li,获取它的高度,然后进行计算。

不像 CSS 选择器那么整洁,但它可以工作。

于 2012-05-09T06:45:40.000 回答