किसी तत्व का संदर्भ कभी भी "झूठी" दिखाई नहीं देगा, इसलिए स्पष्ट नल चेक को छोड़ना सुरक्षित है।
जावास्क्रिप्ट false
के रूप में बूलियन संदर्भ में कुछ मानों के संदर्भों का संदर्भ देगा: अपरिभाषित, शून्य, संख्यात्मक शून्य और NaN
, और खाली तार। लेकिन getElementById
रिटर्न या तो एक तत्व संदर्भ होगा, या शून्य। इस प्रकार यदि तत्व डोम में है, तो वापसी मान एक ऑब्जेक्ट संदर्भ होगा, और सभी ऑब्जेक्ट संदर्भ true
if()
परीक्षण में हैं। यदि तत्व डीओएम में नहीं है, तो वापसी मूल्य null
होगा, और null
if()
परीक्षण में हमेशा false
होता है।
यह तुलना शामिल करने के लिए हानिरहित है, लेकिन व्यक्तिगत रूप से मैं बाहर कोड के टुकड़े कि कुछ भी नहीं करते क्योंकि मैं हर बार मेरी उंगली कुंजीपटल हिट लगाने मैं एक बग :)
नोट शुरू करने जा सकता है रखना पसंद करते हैं कि jQuery का उपयोग करने वालों ऐसा नहीं चाहिए:
if ($('#something')) { /* ... */ }
jQuery समारोह हमेशा कुछ "truthy" — भले ही कोई तत्व पाया जाता है वापस आ जाएगी क्योंकि, jQuery एक वस्तु संदर्भ देता है। इसके बजाय:
if ($('#something').length) { /* ... */ }
संपादित — एक तत्व की मूल्य जाँच करने के लिए के रूप में, नहीं, आपको लगता है कि एक ही समय में आप के साथ तत्व ही के अस्तित्व के लिए जाँच कर रहे हैं के रूप में सीधे नहीं कर सकते डोम विधियों। दोबारा, अधिकांश रूपरेखा अपेक्षाकृत सरल और साफ बनाती हैं, क्योंकि अन्य ने अपने उत्तरों में ध्यान दिया है।
वहाँ भी इस पोस्ट में अच्छा जानकारी का एक बहुत कुछ है। (लेकिन मैं हमेशा आदत से typeof जाँच करने के लिए पसंद करते हैं।) – Andir
इस मामले में "typeof" जाँच हो रही है पूरी तरह से है बेकार क्योंकि 'getElementById' से वापसी मान हमेशा" ऑब्जेक्ट "टाइप किया जाएगा, भले ही यह शून्य हो। – Pointy
मेरे लिए, jquery का पूरा बिंदु यह है कि आपको "अगर" की आवश्यकता नहीं होगी। बस jquery चयनकर्ता। – NimChimpsky