XPathResult: метод iterateNext()
Базовая Широко поддерживается
Эта функция хорошо зарекомендовала себя и работает на многих устройствах и версиях браузеров. Она доступна в браузерах с июля 2015 года.
Метод iterateNext() интерфейса XPathResult перебирает результат набора узлов и возвращает следующий узел из него или null, если больше узлов нет.
Синтаксис
iterateNext()
Параметры
Нет.
Возвращаемое значение
Следующий Node в наборе узлов XPathResult.
Исключения
TYPE_ERR
В случае, если XPathResult.resultType не является UNORDERED_NODE_ITERATOR_TYPE или ORDERED_NODE_ITERATOR_TYPE, выбрасывается исключение XPathException типа TYPE_ERR.
INVALID_STATE_ERR
Если документ был изменен после возвращения результата, выбрасывается исключение XPathException типа INVALID_STATE_ERR.
Примеры
В следующем примере показано использование метода iterateNext().
HTML
<div>XPath example</div> <div>Tag names of the matched nodes: <output></output></div>
JavaScript
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 |
Совместимость с браузерами
| Рабочие столы | Мобильные устройства | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox для Android | Opera Android | Safari на iOS | Samsung Internet | WebView Android | |
iterateNext |
1 | 12 | 1 | ≤12.1 | 3 | 18 | 4 | ≤12.1 | 1 | 1.0 | 4.4 |
© 2005–2024 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/XPathResult/iterateNext