我有一个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>
发布于 2011-06-23 19:33:58
火狐、Chrome、Safari和Opera都支持document.evaluate()
(DOM Level 3 XPath) --唯一缺少的主要浏览器是MSIE。然而,jQuery支持基本的XPath表达式:http://docs.jquery.com/DOM/Traversing/Selectors#XPath_Selectors (在当前jQuery版本中已移至插件中,请参阅https://plugins.jquery.com/xpath/)。它只是将XPath表达式转换成等价的CSS选择器。
发布于 2013-06-13 15:59:31
如果您正在调试或类似-在chrome开发人员工具中,您可以简单地使用
$x('/html/.//div[@id="text"]')
发布于 2013-02-03 12:24:25
首先创建一个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');
希望这能有所帮助。
https://stackoverflow.com/questions/6453269
复制相似问题