आम तौर पर, यह माना जाता है कि नाम हमेशा आईडी से अलग होता है । यह कुछ हद तक सही है, लेकिन फार्म फ़ील्ड और फ़्रेम नामों के लिए नहीं , व्यावहारिक रूप से बोल रहा है। उदाहरण के लिए, प्रपत्र तत्वों के साथ नाम-मूल्य जोड़े को सर्वर-साइड प्रोग्राम में भेजने के लिएname
निर्धारित करने के लिए विशेषता का उपयोग किया जाता है और इसे समाप्त नहीं किया जाना चाहिए। । सुरक्षित पक्ष पर होने के लिए, आप प्रपत्र तत्वों पर नाम और आईडी विशेषताओं का उपयोग कर सकते हैं। तो, हम निम्नलिखित लिखेंगे:Browsers do not use id in that manner
<form id="myForm" name="myForm">
<input type="text" id="userName" name="userName" />
</form>
अनुकूलता सुनिश्चित करने के लिए, दोनों के परिभाषित होने पर नाम और आईडी विशेषता मूल्यों का मिलान करना एक अच्छा विचार है। हालाँकि, सावधान रहें- कुछ टैग्स, विशेष रूप से रेडियो बटन, में गैर-संज्ञा नाम मान होना चाहिए, लेकिन इसके लिए विशिष्ट आईडी मानों की आवश्यकता होती है। एक बार फिर, यह संदर्भ देना चाहिए कि आईडी केवल नाम के लिए प्रतिस्थापन नहीं है; वे उद्देश्य में भिन्न हैं। इसके अलावा, पुरानी शैली के दृष्टिकोण को छूट न दें, आधुनिक पुस्तकालयों पर एक गहरी नज़र ऐसे सिंटैक्स शैली को दिखाती है जो कई बार प्रदर्शन और आसानी के प्रयोजनों के लिए उपयोग की जाती है। आपका लक्ष्य हमेशा अनुकूलता के पक्ष में होना चाहिए।
अब अधिकांश तत्वों में, नाम विशेषता को अधिक सर्वव्यापी आईडी विशेषता के पक्ष में चित्रित किया गया है। हालांकि, कुछ मामलों में, विशेष रूप से फार्म क्षेत्र ( <button>
, <input>
, <select>
, और <textarea>
), क्योंकि यह प्रपत्र प्रस्तुत करने के लिए नाम-मान युग्म स्थापना करने की आवश्यकता किया जा रहा है पर नाम विशेषता रहता है। इसके अलावा, हम पाते हैं कि कुछ तत्व, विशेष रूप से फ़्रेम और लिंक, नाम विशेषता का उपयोग करना जारी रख सकते हैं क्योंकि यह अक्सर इन तत्वों को नाम के साथ पुनर्प्राप्त करने के लिए उपयोगी होता है।
आईडी और नाम के बीच स्पष्ट अंतर है। बहुत बार जब नाम जारी रहता है, हम मानों को एक ही सेट कर सकते हैं। हालाँकि, आईडी अद्वितीय होनी चाहिए, और कुछ मामलों में नाम रेडियो बटन नहीं होना चाहिए। अफसोस की बात है कि मार्कअप वैल्यूएशन द्वारा पकड़े गए आईडी वैल्यू की विशिष्टता उतनी सुसंगत नहीं है जितनी होनी चाहिए। ब्राउज़रों में सीएसएस कार्यान्वयन उन वस्तुओं को शैली देगा जो एक आईडी मूल्य साझा करते हैं; इस प्रकार, हम मार्कअप या शैली की त्रुटियों को नहीं पकड़ सकते हैं जो रनटाइम तक हमारे जावास्क्रिप्ट को प्रभावित कर सकते हैं।
यह जावास्क्रिप्ट पुस्तक से लिया गया है- The Complete Reference by Thomas-Powell