有插件可以让我这样做吗?它说
here (XPath Compatibility Plugin)在Jquery 1.2版本中删除了该功能,并且它链接的插件已经消失了!
解决方法
大多数浏览器支持
document.evaluate()选择带有XPath表达式的元素 – 不需要jQuery.唯一没有支持的主要浏览器是Internet Explorer.然而,Dimitri Glazkov有
created a library将实现IE的缺失功能.
var result = document.evaluate("//a[@href='#']",document,null,null),item;
while (item = result.iterateNext()) {
// item will be an <a> element with href="#" here
}
您可以轻松创建一个插件来包装此功能:
(function($) {
$.xpath = function(exp,ctxt) {
var item,coll = [],result = document.evaluate(exp,ctxt || document,5,null);
while (item = result.iterateNext())
coll.push(item);
return $(coll);
}
})(jQuery);
// And call it like so:
$.xpath("//a[@href='#']").click(function () { return false; });