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

如何通过CSS的div类选择器将第二个p标签文本设为红色

实现方法

不需要依赖表格的tr、td标签,直接用CSS原生的结构伪类选择器就能精准选中目标元素,不需要给第二个<p>加额外类名,完全符合“仅用test类控制样式”的要求。

直接写入以下CSS代码即可:

.test p:nth-of-type(2) {
  color: red;
}

选择器说明

很多人对结构伪类有认知误区,以为这类选择器只能用于表格元素,实际上:nth-*系列伪类对所有DOM子元素生效,和标签类型无关。针对当前场景,两种常用选择器的差异需要注意:

  • p:nth-of-type(2):只统计父元素下<p>标签的排序,计数时会自动忽略其他类型的子元素(比如span、div等),匹配精度最高,是这个场景下的最优选择。
  • p:nth-child(2):统计父元素下所有类型子元素的全局排序,如果后续在.test容器里、第一个p之前插入其他标签,会导致计数偏移,选不中目标元素。

完整可运行示例

<div class="test"> 
  <p>One</p>
  <p>Two</p>
  <p>Three</p>
</div>

<style>
.test p:nth-of-type(2) {
  color: red;
}
</style>

上述代码运行后,第二个p标签的文本“Two”会显示为红色,其余p标签样式不受影响。

如果需要兼容IE8及更早的老旧浏览器,这类浏览器不支持结构伪类,才需要给目标p标签单独加类名实现,目前所有主流现代浏览器都全量支持上述选择器,可以放心使用。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.26 09:57:19