XPathResult: iterateNext() 方法

Baseline 已广泛支持

此特性已相当成熟,可在许多设备和浏览器版本上使用。自 ⁨2015 年 7 月⁩以来,各浏览器均已提供此特性。

XPathResult 接口的 iterateNext() 方法用于遍历节点集结果,并从中返回下一个节点。如果已无更多节点,则返回 null

语法

js
iterateNext()

参数

无。

返回值

XPathResult 节点集中的下一个 Node

异常

TYPE_ERR

如果 XPathResult.resultType 不是 UNORDERED_NODE_ITERATOR_TYPEORDERED_NODE_ITERATOR_TYPE,则会抛出类型为 TYPE_ERRDOMException

INVALID_STATE_ERR

如果自返回结果以来文档已被修改,则会抛出类型为 INVALID_STATE_ERRDOMException

示例

以下示例展示了 iterateNext() 方法的用法。

HTML

html
<div>XPath example</div>
<div>Tag names of the matched nodes: <output></output></div>

JavaScript

js
const xpath = "//div";
const result = document.evaluate(
  xpath,
  document,
  null,
  XPathResult.ANY_TYPE,
  null,
);
let node = null;
const tagNames = [];
while ((node = result.iterateNext())) {
  tagNames.push(node.localName);
}
document.querySelector("output").textContent = tagNames.join(", ");

结果

规范

规范
DOM
# dom-xpathresult-iteratenext

浏览器兼容性