You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在CSS中选中父类下存在指定同级类的特定子元素类

解决方案

方案1:使用CSS :has() 伪类(推荐)

这是最贴合需求的原生实现,无需依赖DOM节点顺序:

/* 匹配包含.compare-at-price子元素的.money-styling父元素下的.money类 */
.money-styling:has(.compare-at-price) .money {
    color: #ff0000;
}

:has()是CSS原生的父选择器,会匹配内部存在符合指定选择器节点的元素,上述代码会先筛选出所有包含.compare-at-price子节点的.money-styling容器,再选中容器下的.money类,完全符合需求。
目前主流浏览器(Chrome 105+、Firefox 121+、Safari 15.4+)均已支持该特性,覆盖全球95%以上用户。

方案2:使用兄弟选择器(兼容旧浏览器)

如果你的DOM结构中.compare-at-price和.money为同级节点,且.compare-at-price的位置固定在.money之前,可以用兼容性更好的通用兄弟选择器实现:

/* 匹配同级前面存在.compare-at-price的.money类 */
.compare-at-price ~ .money {
    color: #ff0000;
}

该方案兼容所有现代浏览器及老旧版本浏览器,缺点是依赖两个同级节点的先后顺序。

内容的提问来源于stack exchange,提问作者user9867610

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 19:24:03