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

如何使用CSS选择器获取指定.cat-row元素后的所有.list-rows元素?

解决方案:选中目标元素之后所有同级的.list-rows元素

嘿,我懂你的困扰——div.cat-row + .list-rows这个选择器只能搞定紧跟在.cat-row后面的第一个.list-rows元素,但你要的是它之后所有的同级.list-rows,对吧?这里有两个靠谱的解决办法:

1. 使用CSS通用兄弟选择器 ~

这是最直接的方案,通用兄弟选择器会匹配目标元素之后所有同级的符合条件的元素,正好满足你的需求。

对应的选择器写法:

div.cat-row ~ .list-rows {
  /* 这里写你的样式规则,比如: */
  border-left: 2px solid #2196F3;
  padding-left: 8px;
}

这个选择器的逻辑是:找到所有和div.cat-row同级,并且在它之后出现的.list-rows元素,不管中间隔了多少其他元素(在你的HTML结构里,后面都是.list-rows,完全适用)。

2. 更精确的匹配(针对多.cat-row场景)

如果页面里有多个.cat-row元素,你需要精准定位到包含<span>Topics</span>的那个,再选它后面的.list-rows,可以结合:has()和:contains()伪类(现代浏览器均支持):

div.cat-row:has(span:contains('Topics')) ~ .list-rows {
  /* 你的样式 */
}

这个写法会先筛选出内部包含文本为Topics的<span>的.cat-row,再选中它之后所有的.list-rows,避免误选其他.cat-row后面的元素。

为什么原来的选择器无效?

你之前用的+是相邻兄弟选择器,它的作用范围非常窄——只能选中紧跟在前面元素之后的第一个同级匹配元素,所以只能选中.cat-row后面的第一个.list-rows,后面的就覆盖不到了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.13 07:37:20