2012-12-01 19 views
6

संभव डुप्लिकेट:
document.all vs. document.getElementByIdदस्तावेज़ का क्या मतलब है?

मैं किसी और के द्वारा लिखित कुछ पुराने कोड पुनर्रचना कर रहा हूँ। और मैं निम्नलिखित स्निपेट में आया:

if (document.all || document.getElementById) { 
    ... 
} 

if-statement के भीतर कोड कब निष्पादित किया जाएगा?

धन्यवाद!

+1

इस प्रश्न को पढ़ें और उत्तर दें: http://stackoverflow.com/questions/2408424/document-all-vs-document-getelementbyid –

+0

** 'document.all' ** और **' document.getElementById' का उपयोग करना * * यदि किसी भी पैरामीटर के बिना उस ब्राउज़र में समर्थित है तो "सत्य" वापस आ जाएगा। इसलिए, यदि आपका "if" निष्पादित किया जाएगा तो ** 'document.all' ** समर्थित है:' "आईई 4 -> 10" ', 'ओपेरा' के कुछ संस्करण, और शायद अन्य; ** या ** यदि ** 'document.getElementById' ** समर्थित है:' "आईई 5 और ऊपर" '," नेटस्केप 6 और ऊपर "', और शायद "फ़ायरफ़ॉक्स", "क्रोम" के सभी आधुनिक संस्करण, "सफारी", इत्यादि। "अगर" *** *** *** "IE <4" ',' "नेटस्केप <6" ', और अधिकांश अन्य ब्राउज़रों के कुछ पुराने संस्करणों के लिए निष्पादित नहीं होगा। –

+0

दरअसल, यह झूठा है। आजकल, 'document.all' अभी भी ऑब्जेक्ट होने के बावजूद पिछड़ा संगतता कारणों के लिए झूठा है। उदाहरण के लिए, 'console.log (!! document.all, document.all.length) चला रहा है' मेरे लिए 'झूठा 1059' प्रिंट करता है। – Antimony

उत्तर

7

document.all() डीओएम तत्वों तक पहुंचने का एक गैर-मानक तरीका है। इसे कुछ ब्राउज़रों से हटा दिया गया है। यह आपको अपने दस्तावेज़ पर सभी उप तत्वों तक पहुंच प्रदान करता है।

document.getElementById() एक मानक और पूरी तरह से समर्थित है। प्रत्येक तत्व में दस्तावेज़ पर एक अद्वितीय आईडी है।

+2

अन्य उत्तरों से लिंक करना टिप्पणियों में किया जाना चाहिए, परिस्थितियों को छोड़कर जब आप कुछ अलग जवाब दे रहे हैं और एक संदर्भ –

+0

के रूप में जोड़ रहे हैं तो आपके उत्तर के लिए धन्यवाद। लेकिन अगर if-statement के भीतर कोड वास्तव में निष्पादित किया जाएगा? मेरे मामले में 'document.all' और' document.getElementById' में 'div1' जैसे कोई पैरामीटर नहीं हैं। – user1170330

+0

@ user1170330: अगर मैं सही समझता हूं, तो उपयोगकर्ता को जावास्क्रिप्ट को अपने ब्राउज़र में "चालू" करने पर निष्पादित किया जाएगा। साथ ही, जैसा कि मैंने पढ़ा है [यहां] (http://javascript.about.com/od/hintsandtips/a/worst_4.htm) ऐसा लगता है कि मामला आईई 4 के लिए था। तो, यदि आप अपने कोड से बाहर हैं और यह जांचने के लिए कुछ और उपयोग करते हैं कि उपयोगकर्ता ने अपने ब्राउज़र में जेएस सक्षम किया है (उदाहरण के लिए

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