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

:first-of-type含义解析及单个jsoup选择器获取首个目标元素方法

问题解答

对:first-of-type的理解误区

你用div.heading-h3:first-of-type没选中元素,核心误区是对这个伪类的作用逻辑理解偏差:

  • :first-of-type仅关注元素标签类型,作用是匹配父元素下的第一个该类型元素,完全不考虑类名、属性等附加条件。
  • 所以div.heading-h3:first-of-type的实际执行逻辑是:先找到父元素下的第一个div,再判断这个div是否带有heading-h3类。如果父元素下第一个div没有该类,选择器就返回空。
  • 你可能误以为这个选择器是“选中所有带heading-h3类的div中的第一个”,但它的逻辑本质是“选中父元素下第一个div且该div带heading-h3类”,这是最容易混淆的核心点。

满足需求的单个jsoup选择器

jsoup支持自定义的:eq(index)选择器(索引从0开始),可以直接定位匹配集合中的第N个元素。要获取第一个div.heading-h3,直接使用:

div.heading-h3:eq(0)

这个选择器会先筛选出所有带有heading-h3类的div,再选中其中索引为0的第一个元素,完全符合你的需求,无需调用Elements.first()方法。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.18 13:53:15