Xpathセレクターがあります。 jQueryを使用して、そのセレクターに一致する要素を取得するにはどうすればよいですか?
https://developer.mozilla.org/en/Introduction_to_using_XPath_in_JavaScript を見てきましたが、jQueryを使用しておらず、少し冗長すぎるようで、クロスブラウザではないと思います。
また、この http://jsfiddle.net/CJRmk/ は機能しないようです。
alert($("//a").length);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.6.0/jquery.min.js"></script>
<a href="a1.php"></a>
<a href="a2.php"></a>
document.evaluate()
(DOM Level 3 XPath)はFirefox、Chrome、Safariでサポートされており、Opera-欠落している主要なブラウザはMSIEのみです。それにもかかわらず、jQueryは基本的なXPath式をサポートします: http://docs.jquery.com/DOM/Traversing/Selectors#XPath_Selectors (現在のjQueryバージョンのプラグインに移動、 https://plugins.jquery.com/xpathを参照/ )。ただし、XPath式を同等のCSSセレクターに変換するだけです。
デバッグまたは同様の場合-chrome開発者ツールでは、単に使用できます
$x('/html/.//div[@id="text"]')
最初にxpathセレクター関数を作成します。
function _x(STR_XPATH) {
var xresult = document.evaluate(STR_XPATH, document, null, XPathResult.ANY_TYPE, null);
var xnodes = [];
var xres;
while (xres = xresult.iterateNext()) {
xnodes.Push(xres);
}
return xnodes;
}
Jqueryでxpathセレクターを使用するには、次のようにします。
$(_x('/html/.//div[@id="text"]')).attr('id', 'modified-text');
これが役立つことを願っています。