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

如何选择兄弟文本节点后的首个元素?能否为指定元素设红色样式?

当然可行!实现方法和选择器写法看这里

完全可以把文本C之后的首个<span>D</span>设置为红色,用CSS的结构选择器就能轻松搞定,我给你一步步说明:

首先先把你的HTML结构明确一下:

<div> 
  <span>A</span> 
  <span>B</span> 
  C 
  <span>D</span> 
  <span>E</span> 
</div>

核心思路

你要找的<span>D</span>是div容器里的第三个span元素(前两个span分别对应A和B),同时它也是文本C之后的第一个元素,所以我们可以用CSS的:nth-of-type()选择器精准定位它。

对应的CSS代码

/* 选中div下的第三个span元素,也就是显示D的那个 */
div span:nth-of-type(3) {
  color: red;
}

为什么这个选择器有效?

:nth-of-type(n)会选中父元素下的第n个同类型子元素,在你的结构里:

  • 第1个span是A
  • 第2个span是B
  • 第3个span就是D
  • 第4个span是E

所以这个选择器刚好命中你要的目标元素,设置color: red后,D就会变成红色,而其他元素不受影响。

如果你的HTML结构后续可能有变动(比如前面新增span),只要D始终是文本C之后的第一个span,也可以换一种思路:先找到文本C前面的最后一个span(也就是B),再选中它之后的第一个span——不过因为文本节点无法被CSS选择器直接选中,这种场景下还是:nth-of-type()最直接好用。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.26 09:35:43