HTML स्रोत कोड लिखते समय, आप अपने HTML तत्वों पर विशेषताओं को परिभाषित कर सकते हैं । फिर, एक बार जब ब्राउज़र आपके कोड को पार्स कर देता है, तो एक संबंधित DOM नोड बनाया जाएगा। यह नोड एक ऑब्जेक्ट है, और इसलिए इसमें गुण हैं ।
उदाहरण के लिए, यह HTML तत्व:
<input type="text" value="Name:">
2 विशेषताएँ ( type
और value
) हैं।
एक बार जब ब्राउज़र इस कोड को पार्स कर देता है, तो एक HTMLInputElement ऑब्जेक्ट बनाया जाएगा, और इस ऑब्जेक्ट में दर्जनों गुण शामिल होंगे: जैसे, स्वीकार करें, AccessKey, align, alt, विशेषताएँ, ऑटोफोकस, आधार, जाँच, चाइल्डइमेंटकाउंट, चाइल्डनॉड्स, बच्चे, क्लासिस्ट, क्लासनेम, क्लाइंटहाइट, आदि
किसी दिए गए DOM नोड ऑब्जेक्ट के लिए, गुण उस ऑब्जेक्ट के गुण हैं, और विशेषताएँ attributes
उस ऑब्जेक्ट की संपत्ति के तत्व हैं।
जब किसी दिए गए HTML तत्व के लिए DOM नोड बनाया जाता है, तो इसके कई गुण समान या समान नामों वाले गुणों से संबंधित होते हैं, लेकिन यह एक-से-एक संबंध नहीं है। उदाहरण के लिए, इस HTML तत्व के लिए:
<input id="the-input" type="text" value="Name:">
इसी डोम नोड होगा id
, type
और value
गुण (दूसरों के बीच):
id
संपत्ति एक है परिलक्षित संपत्ति के लिए id
विशेषता: संपत्ति हो रही विशेषता मान पढ़ता है, और संपत्ति की स्थापना विशेषता मान लिखता है। id
एक शुद्ध परिलक्षित संपत्ति है, यह मूल्य को संशोधित या सीमित नहीं करता है।
type
संपत्ति एक है परिलक्षित संपत्ति के लिए type
विशेषता: संपत्ति हो रही विशेषता मान पढ़ता है, और संपत्ति की स्थापना विशेषता मान लिखता है। type
यह एक शुद्ध परिलक्षित संपत्ति नहीं है क्योंकि यह ज्ञात मूल्यों (जैसे, इनपुट के मान्य प्रकार) तक सीमित है । अगर आपके पास था <input type="foo">
, तो theInput.getAttribute("type")
आपको देता है "foo"
लेकिन theInput.type
आपको देता है "text"
।
इसके विपरीत, गुण विशेषता value
को प्रतिबिंबित नहीं करता है value
। इसके बजाय, यह इनपुट का वर्तमान मूल्य है। जब उपयोगकर्ता मैन्युअल रूप से इनपुट बॉक्स का मूल्य बदलता है, तो value
संपत्ति इस परिवर्तन को प्रतिबिंबित करेगी। इसलिए यदि उपयोगकर्ता "John"
इनपुट बॉक्स में इनपुट करता है, तो:
theInput.value // returns "John"
जहाँ तक:
theInput.getAttribute('value') // returns "Name:"
value
संपत्ति को दर्शाता है वर्तमान जबकि, पाठ सामग्री इनपुट बॉक्स के अंदर value
विशेषता है प्रारंभिक के पाठ्य-सामग्री value
HTML स्रोत कोड से विशेषता।
इसलिए यदि आप जानना चाहते हैं कि वर्तमान में टेक्स्ट-बॉक्स के अंदर क्या है, तो संपत्ति पढ़ें। यदि आप, हालांकि, जानना चाहते हैं कि पाठ-बॉक्स का प्रारंभिक मूल्य क्या था, तो विशेषता पढ़ें। या आप defaultValue
संपत्ति का उपयोग कर सकते हैं, जो value
विशेषता का शुद्ध प्रतिबिंब है :
theInput.value // returns "John"
theInput.getAttribute('value') // returns "Name:"
theInput.defaultValue // returns "Name:"
वहाँ कई गुण हैं जो सीधे उनके विशेषता (प्रतिबिंबित कर रहे हैं rel
, id
), कुछ थोड़ा-अलग नामों के साथ सीधे प्रतिबिंब (हैं htmlFor
दर्शाता है for
विशेषता, className
दर्शाता class
विशेषता), कई कि उनकी विशेषता को प्रतिबिंबित लेकिन प्रतिबंध / संशोधनों (साथ src
, href
, disabled
, multiple
), इसलिए और पर। कल्पना विभिन्न प्रकार के प्रतिबिंब को कवर करती है।