当前位置: 首页 > 面试题库 >

从多个父母中选择第n个孩子

施晗昱
2023-03-14
问题内容

我有以下标记:

<div class="foo">
    <ul>
        <li>one</li>
        <li>two</li>
    </ul>
    <ul>
        <li>three</li>
    </ul>
    <ul>
        <li>four</li>
    </ul>
</div>

我希望将样式设置为“一个”和“三个”。

但是,标记也可以是:

<div class="foo">
    <ul>
        <li>one</li>
        <li>two</li>
        <li>three</li>
    </ul>
    <ul>
        <li>four</li>
    </ul>
</div>

我尝试使用以下CSS:

.foo li:nth-child(1),
.foo li:nth-child(3)
{
    color:red;
}

但是,正如预期的那样,这是每个样式的第一个子元素的样式ul

如何更改CSS,以便可以定位li属于的第1个和第3个.foo


问题答案:

您不能仅凭CSS选择器来做到这一点。:nth- child()和兄弟组合器仅限于共享其父代的子代/兄弟姐妹,正如其名称所暗示的那样,并且CSS选择器无法解释父子结构的这种变化,也没有类似:nth-grandchild()选择器的东西(即使:nth-match()从选择器4中将其自身限制为元素仅共享同一父对象)。

当然,对于类似jQuery的东西,它变得微不足道:$('.fooli:eq(0),.fooli:eq(2)')否则,您必须li使用类或ID显式标记第一个和第三个元素,然后选择它们。



 类似资料:
  • 实现一对多关系并选择父项和子项我有一个关系,我想进行查询(选择*) 文件夹。JAVA 作者。JAVA 我的请求: 我得到了这样的结果: 我的代码有什么问题?什么是问题,当我执行查询我得到了这个结果...我想得到这个结果

  • 问题内容: 使用标准列表,我尝试选择最后2个列表项。我有多种排列方式,但似乎没有什么可以选择最后2种: 我知道类似CSS3的新选择器,但如果可能的话,我更喜欢一些可以在更多浏览器中使用的选择器(不必特别在意IE)。 问题答案: 这将选择列表的最后两个项目:

  • 我有一个标签,包含几个标签。 我只能为第一个标记设置CSS属性: 但是,我下面尝试为每个标记设置CSS属性,但第一个除外,但都不起作用: 我如何用CSS写:“每个元素,除了第一个”?

  • 问题内容: 我不知道在不知道父元素的情况下选择第n个元素,最后一个元素或第一个元素的方法。存在,但仅针对儿童,例如: 选择“两个”段落,然后选择“一个”段落。但是,当我拥有动态代码却不知道父级名称是什么,甚至不知道父级实际是什么(可能是div,span,anchor,ul等)时,该怎么办? 例如: 如何在这里选择第二段?(我无法选择,因为我真的不知道它是什么元素(这只是一个假设名称)。 为何会出现

  • d3.js树形布局是一个很棒的工具,但是它默认只允许孩子有一个单亲。我希望能够让孩子们有不止一个父母。我对树的默认行为提供的节点位置很满意。我想要的只是在默认树被计算出来之后,在没有孩子的父母和现有的孩子之间画出额外的对角线链接。我的脚本目前看起来像这样: 我试图使用根对象将父节点的子节点复制到无子节点,但无济于事(根对象的结构对我来说非常晦涩难懂)。 感谢任何帮助。 PS :我知道一个类似的问题

  • 问题内容: 有两个SQL表: 我想用单个查询从Parents表中选择每一行,并从Childs表中为具有关系“ parent”-“ id”值和最大“ feature”列值的每一行选择一个查询。在此示例中,结果应为: 其中p =父表,c =子表 我试图离开外部联接和GROUP BY,但是MSSQL Express告诉我,使用GROUP BY进行查询需要在每个非Groupped字段上使用聚合函数。而且我