यहाँ एक आसान विधि मानक Node.contains DOM API का उपयोग करता है एक तत्व में जांच करने के लिए डोम में है है IE में दस्तावेज़ वस्तु एक विधि नहीं है - क्रॉस-ब्राउज़र संगतता सुनिश्चित करने के लिए, इसके बजाय document.body.contains()
का उपयोग करें। (या document.head.contains यदि आप लिंक, स्क्रिप्ट, आदि जैसे तत्वों के लिए जाँच कर रहे हैं) एक विशिष्ट document
संदर्भ बनाम नोड-स्तर के प्रयोग पर
नोट्स ownerDocument
:
किसी ने दस्तावेज़ में नोड की उपस्थिति की जांच के लिए MY_ELEMENT.ownerDocument.contains(MY_ELEMENT)
का उपयोग करने का विचार उठाया। जबकि यह लक्षित परिणाम उत्पन्न कर सकता है (हालांकि, 99% मामलों में आवश्यक से अधिक वर्बोसिटी के साथ), यह उपयोग-मामले के आधार पर अप्रत्याशित परिणाम भी ले सकता है। के बारे में क्यों बात करते हैं:
आप एक नोड है कि वर्तमान में, एक अलग दस्तावेज में रहता है document.implementation.createHTMLDocument()
साथ उत्पन्न एक की तरह, एक दस्तावेज़, या एक HTML आयात दस्तावेज़ के साथ काम कर रहे हैं, तो और उपस्थिति के लिए जाँच करने के लिए नोड के ownerDocument
संपत्ति का उपयोग आप में क्या सोचते हैं आपका मुख्य, दृश्यमान रूप से document
होगा, आप चोट की दुनिया में होंगे।
नोड संपत्ति ownerDocument
बस जो कुछ वर्तमान दस्तावेज़ नोड में रहता है के लिए सूचक है। लगभग contains
के हर यूज-केस एक विशिष्ट एक नोड की उपस्थिति के लिए document
जाँच शामिल है। आपके पास 0 गारंटी है कि ownerDocument
वही दस्तावेज़ है जिसे आप देखना चाहते हैं - केवल आप ही उसे जानते हैं। ownerDocument
का खतरा यह है कि कोई अन्य दस्तावेजों में रहने वाले नोड्स को संदर्भित करने, आयात करने या उत्पन्न करने के कई तरीकों को पेश कर सकता है।यदि वे ऐसा करते हैं, और आपने ownerDocument
के सापेक्ष अनुमान पर भरोसा करने के लिए अपना कोड लिखा है, तो आपका कोड टूट सकता है। यह सुनिश्चित करने के लिए कि आपका कोड हमेशा अपेक्षित परिणाम उत्पन्न करता है, आपको केवल के विरुद्ध तुलना करना चाहिए, विशेष रूप से संदर्भितdocument
जिसे आप जांचना चाहते हैं, ownerDocument
जैसे सापेक्ष संदर्भों पर भरोसा न करें।
टिप्पणियां विस्तारित चर्चा के लिए नहीं हैं; यह वार्तालाप [चैट करने के लिए स्थानांतरित हो गया है] (http://chat.stackoverflow.com/rooms/66649/discussion-on-answer-by-csuwldcat-how-to-find-with-javascript-if-element-exists) । – Taryn