DOM L3 XPath の XPathEvaluator を拡張してノード操作を簡単にしたJavaScriptライブラリ。
JavaScript-XPath と ExtXPathEvaluator.js を外部スクリプトに指定します。
<!-- JavaScript-XPath は document.evaluate() を DOM L3 XPath に未対応のブラウザ (IE9- など) でも使えるように拡張する。 -->
<script type="text/javascript" src="./javascript-xpath.js"></script>
<script type="text/javascript" src="./ExtXPathEvaluator.js"></script>
コードを書きます。
var doc, evaluator;
doc = document;
evaluator = new ExtXPathEvaluator; // ExtXPathEvaluator のインスタンスを生成
evaluator.evaluate(doc, 'descendant::text()[normalize-space(.)]', doc.body).replace('nodeValue', /Hello/g, 'Hoge'); // body要素配下のテキストノード値の "Hello" を "Hoge" に置換する
body要素配下のテキストノード値の "Hello" を "Hoge" に置換します。コードは「使い方」と同じです。
Hello, World!
Hello, JavaScript!
Hello, XPath!