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

如何获取textContent包含‘circle’的第二个div DOM元素(无需遍历)

获取指定文本内容的第二个DOM元素

首先注意你提供的HTML代码里第二个div存在语法错误,class属性缺少等号,修正后的代码应为:

<div class="header circle">this is the header</div>
<div class="header circle"> this is the header of circle</div>

要直接获取textContent包含“circle”的第二个div元素,无需先获取所有元素再循环筛选,可以用XPath表达式直接定位(CSS选择器不支持基于文本内容的筛选,XPath更适合这类场景):

实现代码

// 执行XPath查询,直接定位第二个符合条件的div
const xpathQuery = "//div[contains(text(), 'circle')][2]";
const targetElement = document.evaluate(
  xpathQuery,
  document,
  null,
  XPathResult.FIRST_ORDERED_NODE_TYPE,
  null
).singleNodeValue;

// 验证结果
if (targetElement) {
  console.log(targetElement.textContent);
}

表达式说明

  • //div:匹配文档中所有div元素
  • [contains(text(), 'circle')]:筛选文本内容包含“circle”的div
  • [2]:指定取第二个满足上述条件的元素

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.18 13:42:05