DevTools में, इन दो पंक्तियों चलाएँ:setAttribute या सीधे के माध्यम से इनपुट के मूल्य को सेट करने के बीच अंतर क्यों?
1.
window.x = document.createElement("input");
x.type="text";
x.name="nm";
x.value="val";
x
// <input type="text" name="nm">
2.
window.x = document.createElement("input");
x.type="text";
x.name="nm";
x.setAttribute("value", "val");
x
// <input type="text" name="nm" value="val">
इसे दूसरे तरीके से क्यों मुद्रित जायेगा? मान दोनों मामलों में ठीक से सेट किया गया प्रतीत होता है। ऐसा लगता है कि संपत्ति और डोम विशेषता के बीच एक डिस्कनेक्ट है।
संपत्ति के लिए गेटर .value
.getAttribute('value')
के परिणाम से अलग हो जाता है। मैं पूरे दिन setAttribute()
कर सकता हूं, लेकिन .value
पुराना मान देता है।
क्योंकि मूल्य और मूल्य विशेषता दो अलग बातें हैं। मान विशेषता लोड पर पूर्ण मान सेट करती है (पूर्ण स्टॉप)। आप आमतौर पर सिर्फ 'मान' चाहते हैं। यह इनपुट का सही मूल्य है। हालांकि यह मार्कअप में दिखाई नहीं देगा। – Liam
कई विशेषताओं और डीओएम गुणों को एक साथ मैप किया गया है, 'मान' विशेषता/संपत्ति में [एक लंबा] है [https://www.w3.org/TR/html5/forms.html#value-sanitization- एल्गोरिदम) मैपिंग संबंध चश्मा जो मैंने देखा है ... –