2010-08-20 10 views
5

सामने वाले डेवलपर्स के लिए "सर्वोत्तम अभ्यास" के रूप में, क्या जावास्क्रिप्ट ऑब्जेक्ट को संदर्भित करने के लिए "नियंत्रण" संपत्ति का उपयोग करना बुरा है? https://developer.mozilla.org/en/XUL/Property/controlक्या यह डॉम तत्वों से जावास्क्रिप्ट ऑब्जेक्ट्स को संदर्भित करने का एक बुरा अभ्यास है?

मैं जावास्क्रिप्ट कार्यों कि चयनकर्ताओं का उपयोग कर डोम तत्वों का संदर्भ और उसके बाद डोम हेरफेर कि जिस तरह से की एक बहुत कुछ देखा है:

यहाँ सवाल में संपत्ति के लिए एक लिंक है। लेकिन क्या होगा यदि हमने डीओएम पेड़ के माध्यम से यात्रा करके शुरू किया और हमारे पास पहले डीओएम तत्व है?

संपादित करें 1 ठीक है, ऐसा लगता है कि यहां कुछ रूचि है लेकिन किसी कारण से कोई योगदान नहीं है। यह मेरे और मेरे सहकर्मी के बीच बातचीत के रूप में शुरू हुआ। वह परिपत्र संदर्भों और संदर्भ खोने के संभावित मामलों के बारे में चिंतित थे ... क्या यह यहां लागू होता है? मैंने सोचा जब तक हम delete <javascript object> पर कॉल नहीं करते हैं तो हम ठीक हैं।

संपादित 2 मैं इस पाया: JQuery methods and DOM properties

मेरी दुनिया में अभी, मैं माइक्रोसॉफ्ट AJAX पुस्तकालय का उपयोग कर रहा है, जहां हम कई ScriptControls बनाया है और विभिन्न पृष्ठों पर डाल; जो बदले में, (स्क्रिप्ट नियंत्रण) पृष्ठ की घटनाओं और कभी-कभी अन्य स्क्रिप्ट नियंत्रणों की घटनाओं द्वारा "संशोधित" हो जाता है। जब पृष्ठों को DOM तत्व के साथ कुछ करने की आवश्यकता होती है, तो जावास्क्रिप्ट संबंधित जावास्क्रिप्ट ऑब्जेक्ट के तरीकों का उपयोग करेगा।

हालांकि, यह JQuery (दूसरे प्रश्न के आधार पर) में लगता है, तो डीओएम तत्व प्राप्त करना आम है। इसके बाद JQuery ऑब्जेक्ट को (यदि यह मौजूद है) को पकड़ने के लिए .get (0) का उपयोग करना आम है।

तो मुझे लगता है कि यह एक चुड़ैल शिकार अब तक है और वहाँ अभी भी मेरे प्रश्न का कोई सही जवाब :( मैं जानता हूँ कि मैं अभी भी एक उदाहरण की कमी रहा हूँ, लेकिन मुझे यकीन है कि यह कैसे दृष्टिकोण नहीं कर रहा हूँ है।

+0

मुझे इसका कोई मतलब नहीं है कि इसका क्या अर्थ है। क्या आप कचरा संग्रह का जिक्र कर रहे हैं? –

+0

मैं जावास्क्रिप्ट में डिलीट ऑपरेटर का जिक्र कर रहा हूं। देखें: https://developer.mozilla.org/en/JavaScript/Reference/Operators/Special_Operators/delete_Operator – Gary

उत्तर

0

मुझे पूरा यकीन नहीं है कि आप वास्तव में क्या कह रहे हैं। क्या आप एक साधारण कोड उदाहरण प्रदान कर सकते हैं? अन्यथा, आपका प्रश्न थोड़ा अस्पष्ट IMHO है। मैं इसे किसी भी तरह से शॉट दूंगा:

मुझे समझ में नहीं आता कि वहां क्यों कोई खोया या परिपत्र संदर्भ होगा। control विशेषता केवल "नियंत्रण" डीओएम तत्व की आईडी (स्ट्रिंग) है, वास्तविक डीओएम तत्व का संदर्भ नहीं है। यदि आप delete label.control नहीं होंगे अन्य डोम तत्व से जुड़े।

+0

हाय डैनियल, क्षमा करें, मेरे प्रश्न पर अस्पष्ट है। मैं जल्द ही इसका मतलब बताऊंगा कि मेरा क्या मतलब है। – Gary

+0

आप 'label.cforrol' को' label.for' के साथ भ्रमित कर रहे हैं। 'label.control' वास्तव में' label.for' में आईडी के साथ डोम नोड का संदर्भ है या 'लेबल' के भीतर घोंसला वाला पहला नियंत्रण है। मेरा मानना ​​है कि 'label.control हटाएं' वास्तव में कुछ भी नहीं करता है। – Okonomiyaki3000

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

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