11

数日前、友人と私は変数 $x に文字列を割り当てたときに、Chrome で Javascript コンソールをいじっていました (少し古いバージョンを使用していますが、これは OSX と Windows の両方の最新の安定ビルドで繰り返すことができます)。 .

$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 に答える