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

CSS选择器-具有给定子元素的元素

宋建本
2023-03-14
问题内容

我正在寻找一个选择器,如果它们具有特定的子元素,它将选择所有元素。例如,选择所有<div>带孩子的人<span>

可能?


问题答案:

如果元素包含特定的子元素,是否可以选择?

不幸的是还没有。

在CSS2和CSS3选择器的规格不允许任何形式的亲本选配。

关于规格变更的注意事项

从现在开始,这是关于此帖子准确性的免责声明。CSS中的父选择器已经讨论了很多年。由于尚未达成共识,因此变化不断发生。我将尝试使此答案保持最新状态,但是请注意,
由于规格的更改,可能存在一些不准确之处

较早的“选择器4级工作草案”描述了一项功能,该功能可以指定选择器的“主题”。

主题将是选择器链中要应用样式的元素。

HTML范例

<p><span>lorem</span> ipsum dolor sit amet</p>
<p>consecteture edipsing elit</p>

该选择器将为span元素设置样式

p span {
    color: red;
}

该选择器将为p元素设置样式

!p span {
    color: red;
}

最新的“选择器第4级编辑器草案”包括“关系伪类::has()

:has()允许作者根据其内容选择元素。我的理解是选择它是为了与jQuery的自定义:has()伪选择器* 兼容。

无论如何,继续上面的示例,选择p包含一个的元素span可以使用:

p:has(span) {
    color: red;
}

*这使我想知道jQuery是否实现了选择器主题,而主题是否仍保留在规范中。



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

  • 问题内容: 我有一些用PHP生成的元素,我想知道是否可以选择ID不完整的元素,例如: 该类已经习惯了它们的共同点,但是现在我需要单独选择它们,但我不知道整个ID名称。 我可以使用类似: 问题答案: 不使用ID选择器,因为它们需要完整的ID名称,但使用substring属性选择器: 但是,既然您的元素仍然具有属性,那么为什么不向每个元素组添加一个通用类并按该类进行选择呢?您应该能够像生成ID一样使用

  • 问题内容: 如何使用jQuery选择应用了特定CSS属性的所有元素?例如: 如何通过名为“四舍五入”的属性进行选择? CSS类名非常灵活。 如何将这两个操作替换为一个操作。也许是这样的: 有什么更好的方法吗? 问题答案: 您不能(使用CSS选择器)根据已应用于它们的CSS属性来选择元素。 如果您想手动执行此操作,则可以选择文档中的每个元素,在它们上循环,然后检查您感兴趣的属性的计算值(尽管这可能仅

  • 本文向大家介绍jQuery 选择元素的子元素,包括了jQuery 选择元素的子元素的使用技巧和注意事项,需要的朋友参考一下 示例 要选择元素的子代,可以使用children()方法。 更改元素所有子.parent元素的颜色: 该方法接受一个可选selector参数,该参数可用于过滤返回的元素。            

  • 问题内容: 是否可以在CSS中选择多个具有某个特定类,id等父的元素?例如: 如果不是,是否有办法选择该元素的所有子元素? 问题答案: 是否可以在CSS中选择多个具有某个特定类,id等父的元素? 当前,不幸的是,并非没有复制整个父选择器并指定所有后代,而是1: 直到选择器3最终确定后,他们才提出了伪类表示法来进行此操作,直到最近,基本实现才开始出现。 简而言之,现在已成为标准的伪类称为。在遥远的将

  • 问题内容: 是否有一种方法可以根据将class属性的值设置为两个特定的类来选择CSS元素。例如,假设我有3个div: 基于它是foo AND bar类的成员,我可以写什么CSS来选择列表中的第二个元素? 问题答案: 链接两个类选择器(之间没有空格): 如果仍然需要处理IE6之类的古老浏览器,请注意,它无法正确读取链接的类选择器:无论您列出什么其他类,它都只会读取 最后一个 类选择器(在这种情况下)