解决方法
大多数浏览器支持
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; });