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

如何选中指定div内首个p元素并忽略嵌套元素(规避:first-child)

选中指定div内首个p元素(规避:first-child的方案)

使用CSS的:first-of-type伪类即可实现需求,它会匹配父元素下同类型元素中的第一个,不受父元素内其他类型子元素的新增或顺序变化影响,完美解决:first-child依赖首个子元素的局限。

实现代码

CSS

.test p:first-of-type {
  background-color: red;
}

HTML

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Document</title>
</head>
<body>
  <div class="test">
    <p>hello</p> <!-- 这个p会被选中 -->
    <p>hello</p>
    <div>
      <p>hello</p> <!-- 此p属于子div的元素,不会被选中 -->
    </div>
  </div>
</body>
</html>

核心区别

  • :first-child要求目标元素是父元素的第一个子元素,若.test下新增其他前置元素(如<h2>、<span>),原首个p会失去选中状态。
  • :first-of-type仅针对父元素下所有<p>元素的第一个,无论父元素内有多少其他类型子元素,都能稳定选中目标p。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.11 06:10:59