पहले उदाहरण में आप style
विशेषता तक नहीं पहुंच रहे हैं, लेकिन style
संपत्ति पर। style
संपत्ति के मामले में संपत्ति का मूल्य कुछ भी हो सकता है। दूसरे उदाहरण में आप टैग की शैली विशेषता तक पहुंच रहे हैं। विशेषता का मान केवल स्ट्रिंग हो सकता है।
कुछ विशेषताओं के मामले में उनके बीच मैपिंग है। इसलिए यदि आप एक HTML नोड पर style
विशेषताएँ सेट करते हैं, तो आपकी style
संपत्ति अपडेट की जाती है और आपकी शैली लागू होती है। हालांकि, यह हमेशा सत्य नहीं होता है: IE के कुछ संस्करणों (कम से कम आईई 7 तक) में एक प्रसिद्ध बग यह है कि मैपिंग का प्रकार टूटा हुआ है, इसलिए एक विशेषता सेट करें संपत्ति पर प्रतिबिंबित नहीं होती है।
तो, यदि आप एक HTML नोड पर एक विशेषता सेट करना चाहते हैं, तो आपको दूसरे का उपयोग करना होगा। लेकिन अगर आप अपनी ऑब्जेक्ट की संपत्ति तक पहुंचना चाहते हैं कि एक HTML नोड का प्रतिनिधित्व करता है, तो आपको पहले का उपयोग करना होगा।
style
के मामले में, पहले व्यक्ति की दृढ़ता से अनुशंसा की जाती है।
यह एक उदाहरण (आधुनिक ब्राउज़रों में) के साथ स्पष्ट करने के लिए:
document.body.style.border = "1px solid red";
console.log(document.body.style); // [object CSSStyleDeclaration]
console.log(document.body.getAttribute("style")); // "border: 1px solid red;"
मुझे लगता है कि आप भी 'document.getElementById ('MyID') [ 'शैली']' कर सकता है। afaik, इसके पास 'getAttribute()' का उपयोग करने के समान कारण है @gwynhowell समझाया गया है। – Joseph
यह ऑब्जेक्ट गुणों तक पहुंचने का एक और तरीका है .. सही? –
yup, बस एक और तरीका। – Joseph