2012-05-19 8 views
9

कुछ दिन पहले एक दोस्त और मैं क्रोम में जावास्क्रिप्ट कंसोल के साथ खेल रहा था (थोड़ा पुराना संस्करण का उपयोग करके, लेकिन यह ओएसएक्स और विंडोज़ दोनों पर नवीनतम स्थिर निर्माण में दोहराया जा सकता है) जब हमने चर के लिए एक स्ट्रिंग असाइन की $ x।

$x = "hello" 

लेकिन जब हम $ एक्स का मान बाहर गूंज, हम कंसोल में निम्न कोड के आधार पर प्राप्त:

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; 
    } 
} 

हम सफारी और Firefox के स्थिर संस्करणों में एक ऐसी ही उत्पादन हो गया। जहां तक ​​हम कह सकते हैं, $ x चर वैश्विक विंडो ऑब्जेक्ट से जुड़ा नहीं है।

$ x क्या है, और इसके लिए इसका क्या उपयोग किया जाता है?

उत्तर

9

यह एक XPath उपयोगिता फ़ंक्शन है। fine Firebug manual से:

$x(xpath)
तत्वों को दिया XPath एक्सप्रेशन से मेल की एक सरणी देता है।

और fine Chrome manual से:

$x(xpath)
डोम तत्वों को दिया XPath एक्सप्रेशन से मेल की एक सरणी देता है।

$x फ़ंक्शन जावास्क्रिप्ट का हिस्सा नहीं है, यह केवल एक उपयोगिता है जो कंसोल में उपलब्ध है। यदि आप कंसोल (http://jsfiddle.net/ambiguous/fsewU/) के बाहर $x तक पहुंचने का प्रयास करते हैं, तो आपको एक संदर्भ त्रुटि प्राप्त होगी, बेशक, आपने कहीं भी अपना $x परिभाषित किया है।

1

XPath (XML पथ भाषा) .... तरह की एक सहायक से संबंधित होना लग रहा है ... मैं एक लिंक है जो आपकी सहायता कर सकें .. http://userscripts.org/topics/26131 आशा है कि मदद करता है ..

+0

+1 पाया। इसके लायक होने के लिए, फ़ायरफ़ॉक्स में फ़ायरबग भी एक ही चीज़ '$ x' के साथ करता है। – Spudley

संबंधित मुद्दे