当前位置: 首页 > 知识库问答 >
问题:

如何通过CSS选择器从元素列表中正确选择第n个元素

顾宸
2023-03-14

我试着练习用CSS选择器获取值,我想出了这个(不像预期的那样工作)

.search-result__advert:not([id]):not([data-ad-show]):nth-child(i)(我也尝试过:nth-of-type(i))

我对I=3的期望:第三个没有id属性和data-ad-show属性的元素被选中,其值将是所需的值3。

<ul class="search-result list-unstyled">

    <li class="search-result__advert">
        <div class="grid grid--rev">
            <p>Desired value 1</p>
        </div>
    </li>
    
    <li class="search-result__advert">
        <div class="grid grid--rev">
            <p>Desired value 2</p>
        </div>
    </li>      

    <li class="search-result__advert" id="signUpWrapper">
        <div id="signUpSavedSearch" class="grid">
            <p>Advertisment 1</p>
        </div>
    </li>

    <li class="search-result__advert hidden" data-ad-show="ad_list_middle">
        <div class="ad" id="ad_list_middle">
            <p>Advertisment 2</p>
        </div>
    </li>

    <li class="search-result__advert">
        <div class="grid grid--rev">
            <p>Desired value 3</p>
        </div>
    </li>

    <li class="search-result__advert">
        <div class="grid grid--rev">
            <p>etc. etc.</p>
        </div>
    </li>
</ul>

共有1个答案

喻选
2023-03-14

等效的css选择器为:

li.search-result__advert:not(id):nth-last-child(2)

为了更好地理解,如果应用nth-child,可以查看以下内容:

:nth-child(n)   p:nth-child(2)  Selects every <p> element that is the second child of its parent

在此阅读有关CSS_SELECTOR的详细信息

 类似资料:
  • 问题内容: 例如,是否可以选择一组元素中的每个第四个元素? 例如:我有16个元素…我可以写类似的东西。 有一个更好的方法吗? 问题答案: 顾名思义,它允许您使用除常数以外的变量构造算术表达式。您可以执行加法(),减法()和系数乘法(其中是整数,包括正数,负数和零)。 这是重写上面的选择器列表的方法: 有关这些算术表达式如何工作的解释,请参见我对该问题的回答以及规范。 请注意,此答案假设同一父元素内

  • 本文向大家介绍Jsoup 使用CSS选择器选择元素,包括了Jsoup 使用CSS选择器选择元素的使用技巧和注意事项,需要的朋友参考一下 示例 您可以在此处找到支持的选择器的详细概述。

  • 问题内容: 我试图在ID或类’B’的元素中选择类’A’的第一个元素。我尝试了> +和第一个子选择器的组合,因为它不是类元素’B’中的第一个元素。它起作用了,但是…我试图覆盖一些默认的CSS,并且我无法控制服务器端,似乎类’A’元素有时在不同的位置生成。这是一个例子: 有时,“ B”类的名称有所不同,“ A”之前的元素也有所不同。那么,有什么方法可以选择元素“ C”中首次出现的“ A”吗?因为“ C

  • 问题内容: 我有一堆带有类名的元素,但是我似乎无法使用以下CSS规则选择第一个元素: 该选择器有什么问题,我该如何纠正? 多亏了这些评论,我才知道该元素必须是其父元素的第一个子元素才能被选中,而事实并非如此。我具有以下结构,并且该规则失败,如注释中所述: 我该如何针对上课的第一个孩子? 问题答案: 这是作者误解工作方式的最著名例子之一。在CSS2介绍,该伪类表示其父的第一个孩子。而已。有一个非常普

  • 问题内容: 是否有可能在CSS2中获得有序列表的第n个元素? (类似于CSS3) 仅供参考:我正在尝试将德语版本的Parcheesi编程为XHTML 1.1和CSS2兼容,并尝试通过使用有序列表来生成运动场,因此移动选项由数据结构预先确定。为了围绕中心定位,我想通过数字选择列表元素。 问题答案: 您可以将相邻的同级组合器与伪类一起使用,重复组合器的次数可以达到第n个孩子。 对于任何元素,均以开头,

  • 本文向大家介绍从Perl的列表中选择元素,包括了从Perl的列表中选择元素的使用技巧和注意事项,需要的朋友参考一下 Perl中的列表符号与数组的列表符号相同。您可以通过在列表中添加方括号并给出一个或多个索引来从数组中提取元素- 示例 输出结果 这将产生以下结果- 同样,我们可以提取切片,尽管不需要前导@字符- 示例 输出结果 这将产生以下结果-