XPathResult: iterateNext() 方法

iterateNext() 方法是 XPathResult 接口的方法,用于迭代节点集结果并返回其中的下一个节点,如果不再有节点则返回 null

语法

js
iterateNext()

参数

无。

返回值

XPathResult 的节点集中下一个 Node

异常

TYPE_ERR

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

INVALID_STATE_ERR

如果自返回结果以来文档发生了更改,则会抛出一个类型为 INVALID_STATE_ERRXPathException

示例

以下示例演示了 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

浏览器兼容性

BCD 表格仅在启用 JavaScript 的浏览器中加载。