微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用xpath在jQuery中选择元素?

插件可以让我这样做吗?它说 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; });

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐