11

几天前,当我们将字符串分配给变量 $x .

$x = "hello"

但是当我们回显 $x 的值时,我们会在控制台中得到以下代码:

bound: function (xpath, context)
{
    var doc = (context && context.ownerDocument) || inspectedWindow.document;
    var result = doc.evaluate(xpath, context || doc, null, XPathResult.ANY_TYPE, null);
    switch (result.resultType) {
    case XPathResult.NUMBER_TYPE:
        return result.numberValue;
    case XPathResult.STRING_TYPE:
        return result.stringValue;
    case XPathResult.BOOLEAN_TYPE:
        return result.booleanValue;
    default:
        var nodes = [];
        var node;
        while (node = result.iterateNext())
            nodes.push(node);
        return nodes;
    }
}

我们在 Safari 和 Firefox 的稳定版本中得到了类似的输出。据我们所知,$x 变量没有附加到全局窗口对象。

$x 是什么,它的用途是什么?

4

2 回答 2

13

这是一个 XPath 实用程序函数。来自精美的 Firebug 手册

$x(xpath)
返回与给定 XPath 表达式匹配的元素数组。

并来自精美的 Chrome 手册

$x(xpath)
返回与给定 XPath 表达式匹配的 DOM 元素数组。

$x函数不是 JavaScript 本身的一部分,它只是控制台中可用的实用程序。如果您尝试$x在控制台之外访问(http://jsfiddle.net/ambiguous/fsewU/),您将得到一个 ReferenceError,当然,除非您在$x某处定义了自己的。

于 2012-05-19T03:10:08.383 回答
1

看起来与 XPath(XML 路径语言)有关..各种帮手...我找到了一个可以帮助你的链接.. http://userscripts.org/topics/26131希望有帮助..

于 2012-05-19T03:16:34.167 回答