क्या मैं जावास्क्रिप्ट डीओएम ऑब्जेक्ट्स जैसे <INPUT>
या <SELECT>
तत्वों के लिए मनमाना गुण जोड़ सकता हूं? या, अगर मैं ऐसा नहीं कर सकता, तो क्या संदर्भ वस्तु के माध्यम से पेज तत्वों के साथ अपनी खुद की वस्तुओं को जोड़ने का कोई तरीका है?क्या मैं डोम ऑब्जेक्ट्स में मनमानी गुण जोड़ सकता हूं?
उत्तर
निश्चित रूप से, लोग उम्र के लिए ऐसा कर रहे हैं। यह अनुशंसित नहीं है क्योंकि यह गन्दा है और आप मौजूदा गुणों के साथ गड़बड़ कर सकते हैं।
यदि आप for..in
के साथ कोड लूप कर रहे हैं तो आपका कोड तोड़ सकता है क्योंकि अब आप इन नए संलग्न गुणों के माध्यम से गणना कर रहे हैं।
मैं jQuery का .data
जैसे कुछ का उपयोग करने का सुझाव देता हूं जो वस्तुओं से जुड़े मेटाडेटा को रखता है। यदि आप लाइब्रेरी का उपयोग नहीं करना चाहते हैं, तो jQuery.data
हां, आप डीओएम ऑब्जेक्ट्स में अपनी खुद की संपत्तियां जोड़ सकते हैं, लेकिन टकराव और परिपत्र संदर्भों का नाम देने से बचने के लिए सावधानी बरतें। data-
विशेषता उपसर्ग का उपयोग करके -
document.getElementById("myElement").myProperty = "my value";
एचटीएमएल 5 मार्कअप के माध्यम से तत्वों को डेटा संलग्न की एक मान्य तरीका पेश किया। आप 4 दस्तावेजों कोई मुद्दों के साथ भी HTML में इस विधि का उपयोग कर सकते हैं, लेकिन वे मान्य नहीं होगा:
<div id="myElement" data-myproperty="my value"></div>
जो तुम जावास्क्रिप्ट के माध्यम से उपयोग कर सकते हैं getAttribute()
का उपयोग कर:
document.getElementById("myElement").getAttribute("data-myproperty");
क्या अंतिम पंक्ति 'setAttribute() 'होनी चाहिए? – alex
@alex: नहीं, अभी भी एक गलती हुई है :-) –
डेटा-विशेषताएं स्ट्रिंग्स (या ऑब्जेक्ट्स को धारावाहिक/deserializable/स्ट्रिंग्स से) स्टोर कर सकती हैं, सामान्य रनटाइम ऑब्जेक्ट्स नहीं, जबकि एक डोम ऑब्जेक्ट पर एक नई प्रॉपर्टी सेट कर सकती है। – Triynko
आप के लिए गुण जोड़ना चाहते हैं ऑब्जेक्ट, या तत्व के लिए गुण?
आप setAttribute
var el = document.getElementById('myelement');
el.setAttribute('custom', 'value');
का उपयोग कर गुण जोड़ सकते हैं या यदि आप बस जावास्क्रिप्ट ऑब्जेक्ट में गुण जोड़ सकते हैं:
var el = document.getElementById('myelement');
el.myProperty = 'myValue';
आप मानक HTML विशेषताओं का उपयोग नहीं करते चाहिए। यहाँ कस्टम विशेषताओं का उपयोग करने पर एक ट्यूटोरियल है:
http://www.javascriptkit.com/dhtmltutors/customattributes.shtml
यह एचटीएमएल 5 है, लेकिन यह पार्श्व-संगत है।
यदि कोई 2015 में सोच रहा है, तो आप कर सकते हैं - और jQuery data में ऐसा कर रहा है। बस भावी उपसर्ग नाम जैसे विक्रेता उपसर्ग या समय-आधारित यादृच्छिक प्रत्यय (jQuery) चुनें।
- 1. मैं रनटाइम पर ऑब्जेक्ट में गुण कैसे जोड़ सकता हूं?
- 2. मैं डेल्फी में ऑब्जेक्ट्स की मनमानी संपत्ति पर एक टीएलिस्ट को कैसे क्रमबद्ध कर सकता हूं?
- 3. क्या मैं जावास्क्रिप्ट में ऑब्जेक्ट्स में सार्वजनिक फ़ंक्शन जोड़ सकता हूं? कैसे?
- 4. क्या कोई एनटीएफएस फ़ोल्डरों में कस्टम गुण जोड़ सकता है?
- 5. क्या मैं क्लोजर प्रकारों में फ़ील्ड जोड़ सकता हूं?
- 6. क्या मैं app.config फ़ाइल में स्थितियां जोड़ सकता हूं?
- 7. क्या मैं प्रीप्रोसेसर मैक्रो में जोड़ सकता हूं?
- 8. क्या मैं एनपीएम में डीबग स्क्रिप्ट जोड़ सकता हूं?
- 9. क्या मैं एकाधिक निर्देशिकाओं को एक में जोड़ सकता हूं?
- 10. क्या मैं सिल्वरलाइट 3 एप्लिकेशन में डीएल जोड़ सकता हूं?
- 11. क्या मैं कमांड लाइन में मेवेन रिपॉजिटरीज़ जोड़ सकता हूं?
- 12. क्या मैं कई सारे रिश्तों में प्रबंधक जोड़ सकता हूं?
- 13. सबसे सामान्य पायथन प्रकार क्या है जिसमें मैं गुण जोड़ सकता हूं?
- 14. डोम एलिमेंट ऑब्जेक्ट्स में गुण जोड़ने के साथ क्या गलत है?
- 15. परीक्षण डोम जैस्मीन परीक्षा में जोड़ तोड़
- 16. क्या मैं जीसीसी के आरटीटीआई नामों को जोड़ सकता हूं?
- 17. क्या मैं पुनर्गठित पाठ के लिए "Smartypants" जोड़ सकता हूं?
- 18. मैं जावास्क्रिप्ट में स्ट्रिंग ऑब्जेक्ट में गुण क्यों नहीं जोड़ सकता?
- 19. Raphael.js ऑब्जेक्ट्स में कोई छाया ड्रॉप कैसे जोड़ सकता है?
- 20. मैं अपनी पर्ल स्क्रिप्ट में अंतर्राष्ट्रीयकरण कैसे जोड़ सकता हूं?
- 21. मैं netbeans में फोंट कैसे जोड़ सकता हूं?
- 22. मैं एटीजेएस ग्रिड में पंक्ति संख्या कैसे जोड़ सकता हूं?
- 23. मैं एक मनमानी शाखा संग्रह कैसे कर सकता हूं?
- 24. मैं विजुअल स्टूडियो में कस्टम कमांड कैसे जोड़ सकता हूं?
- 25. मैं WWW :: मशीनीज़ में प्रगति पट्टी कैसे जोड़ सकता हूं?
- 26. मैं जावास्क्रिप्ट में रेगेक्स अक्षरों को कैसे जोड़ सकता हूं?
- 27. मैं एडीओ.NET इकाई में बाधाओं को कैसे जोड़ सकता हूं?
- 28. मैं वायरसहार्क में कस्टम प्रोटोकॉल विश्लेषक कैसे जोड़ सकता हूं?
- 29. मैं एनएसएआरएआरई को आसान तरीके से CGPoint ऑब्जेक्ट्स कैसे जोड़ सकता हूं?
- 30. मैं फ्लास्क में पृष्ठभूमि थ्रेड कैसे जोड़ सकता हूं?
कूल ... क्या 'डेटा' jQuery द्वारा स्वयं उपयोग किया जाता है या क्या मैं इसे किसी भी मूल्य को आवंटित करने के लिए स्वतंत्र हूं? –
'$ .data' jQuery द्वारा परिभाषित किया गया है। आप इसे '$ (' # el ') जैसे डेटा का उपयोग करेंगे। डेटा (' कुंजी ',' मान ') '। –
यह मूल्य पढ़ने के लिए '$ (तत्व) .डेटा ('नाम', मान)' और '$ (तत्व) .डेटा (' नाम ')' पढ़ने के लिए है। –