तो मैं डोम में हेरफेर करने सीख रहा हूँ और मैं एक दिलचस्प बात यह देखा:जावास्क्रिप्ट: setAttribute() vs.s. element.attribute = मान सेट करने के लिए "नाम" विशेषता
चलो कहते हैं कि मैं का उपयोग करके एक तत्व की name
विशेषता निर्धारित करना चाहते हैं "। " डॉट नोटेशन:
element.name = "someName";
console.log(document.getElementsByName("someName")[0]); // returns "undefined"??
लेकिन अगर मैं document.setAttribute()
विधि का उपयोग करें, यह ठीक काम करता है:
element.setAttribute("name", "someName");
console.log(document.getElementsByName("someName")[0]); // returns the element like it should.
सुनिश्चित नहीं हैं कि क्यों डॉट नोटेशन विधि पहले मामले में काम नहीं करता।
ऐसा क्यों होता है?
आम तौर पर 'getElementsByName' – zzzzBov
का उपयोग करने से बचने का प्रयास करें क्यों कोई getElementsByName का उपयोग करने से बचें? –
विशेषताएँ डॉट नोटेशन का उपयोग करके सुलभ हैं यदि आप उन्हें कैसे एक्सेस करना चाहते हैं। यदि आप डॉट नोटेशन का उपयोग करके विशेषताओं तक पहुंच बनाना चाहते हैं तो आपको इसके मूल्य को कुशल बनाने के लिए विशेषता और obj.attributes.attributeName.value को पुनर्प्राप्त करने के लिए obj.attributes.attributeName को संदर्भित करने की आवश्यकता है। SetAttribute या getAttribute की तुलना में यह लंबे समय तक घुमाया जाता है। और समाधान के रूप में अनुशंसित नहीं है, लेकिन इसके बावजूद, आपके प्रश्न का पूर्ण जवाब "पहले मामले में नोटेशन डॉट क्यों नहीं करता है" - इसमें शामिल होना है "यह करता है। आप केवल विशेषताओं के लिए गलत जगह देख रहे थे और उनके मूल्य। " – Radiotrib