document.evaluateの結果の内容を取得
document.evaluateの結果から内容を取得する場合、結果の種類によって取得方法が異なります。
種類 | 取得方法 |
---|---|
ノード(単一) | XPathResult.singleNodeValueプロパティ |
次のノード(複数のノードから) | XPathResult.iterateNextメソッド |
文字列 | XPathResult.stringValueプロパティ |
数値 | XPathResult.numberValueプロパティ |
真偽 | XPathResult.booleanValueプロパティ |
スナップショット | snapshotItemメソッド |
サンプルコード
JavaScript
// 見つかった最初の要素
var resultFirst = document.evaluate('//h2', document, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null);
console.log(resultFirst.singleNodeValue.textContent);
// 開始する要素を変更
var resultAny = document.evaluate('./h1', document.getElementsByTagName('header')[1], null, XPathResult.ANY_TYPE, null);
console.log(resultAny.iterateNext().textContent);
// 数値
var resultNumber = document.evaluate('count(//header)', document, null, XPathResult.NUMBER_TYPE, null);
console.log(resultNumber.numberValue);
document.evaluateについては、XPathからノードを取得ページをご覧ください。