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

如何选取<article>元素内的第一个<p>元素?(解决前置非<p>元素场景的选择器问题)

解决方法:选中<article>内的第一个<p>元素

嘿,我懂你的困扰!你之前用的section article p:first-child和section article>p:first-child为啥不管用?因为first-child选择器的规则是目标元素必须是其父元素的第一个子元素,但在你的HTML里,<article>的第一个子元素是<header>,第二个是<img>,<p>根本排不到第一个,所以这俩选择器自然匹配不到任何元素。

给你两个靠谱的解决方案:

方案1:使用first-of-type选择器

这是最直接的方法,它会匹配父元素下同类型元素中的第一个,完全忽略前面的其他类型元素。对应的选择器是:

section article p:first-of-type {
  /* 这里写你的样式,比如: */
  font-weight: bold;
  color: #2c3e50;
}

在你的HTML结构里,这个选择器会精准命中<p>Etiam massa.</p>,也就是<article>里的第一个<p>元素,后面的<p>不会被选中。

方案2:使用nth-of-type(1)选择器

效果和first-of-type完全一样,只是写法更灵活(如果以后要选第N个<p>也能用):

section article > p:nth-of-type(1) {
  /* 你的样式 */
}

小科普:first-child vs first-of-type的区别

  • first-child:检查目标元素是否是父元素的第一个子元素(不管元素类型)
  • first-of-type:检查目标元素是否是父元素下该类型元素的第一个(只看同类型)

举个简单例子:如果<article>里还有个<aside>在<p>前面,first-of-type依然能找到第一个<p>,但first-child还是不行。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.29 23:07:36