jquery - 使用 xpath 在 jQuery 中选择元素?

标签 jquery xpath

有插件可以让我做到这一点吗?它说here (XPath Compatibility Plugin)该功能在 Jquery 1.2 版本中已被删除,并且它链接的插件也消失了!

最佳答案

大多数浏览器支持document.evaluate()用于使用 XPath 表达式选择元素 - 不需要 jQuery。唯一缺乏支持的主要浏览器是 Internet Explorer。迪米特里·格拉兹科夫有created a library然而,这将实现 IE 缺少的功能。

var result = document.evaluate("//a[@href='#']", document, null, 0, 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, null, 5, null);

        while (item = result.iterateNext())
            coll.push(item);

        return $(coll);
    }
})(jQuery);

// And call it like so:
$.xpath("//a[@href='#']").click(function () { return false; });

关于jquery - 使用 xpath 在 jQuery 中选择元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4284086/

相关文章:

javascript - jQuery UI 选项卡 : Targeting Dynamic Tab from a Link

javascript - clientWidth 检测关闭 15px,可能是由于滚动条

javascript - 如何将jquery中的迭代json对象传递给javascript函数

r - R&xml2:通过特定的文本值定位元素,将所有子值存储在data.frame中

XPATH -- 查询定义的结果顺序

javascript - 我的函数无法传递它的参数值 javascript

Javascript/jQuery : toggle (vjs-fade-out) when userActive value changes (video. js)

xpath - 从一组xpath中找到共同祖先?

xml - "Double Eval"XPath 表达式有一个尾随分号...让我不舒服

html - XPath 来定位包含文本节点的元素?