2012-10-16 12 views
5

संभव डुप्लिकेट:
IE/Chrome: are DOM tree elements global variables here?संदर्भ, कोई document.getElementById

मैं वर्तमान में jQuery मोबाइल का उपयोग कर एक मोबाइल साइट पर काम कर रहा हूँ और मैं कुछ दिलचस्प (देखा वैसे भी, क्योंकि मैं अभी भी जेएस के लिए नया हूँ)। किसी फ़ंक्शन के अंदर, आप केवल आईडी के साथ एक तत्व का संदर्भ दे सकते हैं।

<!DOCTYPE html> 
<html> 
    <head></head> 
    <body onload="tt()"> 
    <div id="abc">Test</div> 
    <a id="cba">Test2</a> 
    </body> 
    <Script> 
    function tt() { 
     console.log(abc); 
     abc.style.backgroundColor = "red"; 
     return cba; 
    } 
    </Script> 
</html> 

नहीं getElementById, कोई jQuery चयनकर्ता, बस आईडी:

यह परीक्षण कोड मैं का इस्तेमाल किया (क्रोम 22.0.x, फ़ायरफ़ॉक्स 16.0.1, और सफारी 5.1.7 पर) है। क्या यह हमेशा इस तरह से रहा है? यदि हां, तो यह एक अच्छा अभ्यास है और यह क्यों काम करता है? मैं सोच रहा हूं कि फ़ंक्शन में एक संदर्भ होना चाहिए, लेकिन यह कहां है, क्या यह पृष्ठ है?

किसी भी अंतर्दृष्टि की सराहना की जाएगी, धन्यवाद।

+0

अपने प्रश्न का उत्तर देने के लिए, यह शुरू करने के लिए _horrible_ आदत की तरह लगता है। – jahroy

+0

धन्यवाद दोस्तों। महान प्रतिक्रिया, मैं अच्छे पुराने getElementById के साथ रहना होगा :) – user1736525

उत्तर

5

आप वास्तव में कर रहे हैं:

window.abc; 

यह कुछ ऐसा है आईई शुरू कर दिया है कि वास्तव में एक गरीब डिजाइन पसंद किया गया है।

इस great answer to a very very similar question

देखें यह वास्तव में डुप्लिकेट है, लेकिन शीर्षक इस प्रतिबिंबित नहीं करता।

मेरा कंसोल में यह लाइन देखने का प्रयास करें कि मेरा क्या मतलब है।

(function(){ console.log(this); })(); // logs the Window object 
संबंधित मुद्दे