files/en-us/web/api/xpathresult/snapshotitem/index.md
{{APIRef("DOM")}}
The snapshotItem() method of the
{{domxref("XPathResult")}} interface returns an item of the snapshot collection or
null in case the index is not within the range of nodes. Unlike the
iterator result, the snapshot does not become invalid, but may not correspond to the
current document if it is mutated.
snapshotItem(i)
i
The {{domxref("Node")}} at the given index within the node set of the
XPathResult.
In case {{domxref("XPathResult.resultType")}} is not
UNORDERED_NODE_SNAPSHOT_TYPE or ORDERED_NODE_SNAPSHOT_TYPE, a
{{domxref("DOMException")}} of type TYPE_ERR is thrown.
The following example shows the use of the snapshotItem() method.
<div>XPath example</div>
<div>Tag names of the matched nodes: <output></output></div>
const xpath = "//div";
const result = document.evaluate(
xpath,
document,
null,
XPathResult.ORDERED_NODE_SNAPSHOT_TYPE,
null,
);
let node = null;
const tagNames = [];
for (let i = 0; i < result.snapshotLength; i++) {
node = result.snapshotItem(i);
tagNames.push(node.localName);
}
document.querySelector("output").textContent = tagNames.join(", ");
{{EmbedLiveSample('Examples')}}
{{Specifications}}
{{Compat}}