संक्षिप्त उत्तर यह है कि एचटीएमएल/जावास्क्रिप्ट डीओएम एपीआई में आपके पास getElementById फ़ंक्शन है जो संग्रह को नहीं, एक तत्व देता है। तो यदि आपके पास एक ही आईडी के साथ एक से अधिक तत्व हैं, तो यह नहीं पता कि कौन सी चुनना है।
लेकिन सवाल वास्तव में गूंगा नहीं है, क्योंकि एक आईडी चाहते हैं जो HTML में एक से अधिक तत्वों को संदर्भित कर सकता है।उदाहरण के लिए, कोई उपयोगकर्ता टेक्स्ट का चयन कर सकता है और उसे एनोटेट करना चाहता है। आप एक
<span class="Annotation" id="A01">Bla bla bla</span>
के साथ इस दिखाने के लिए उपयोगकर्ता चयनित पाठ कि spans कई पैराग्राफ, तो जरूरत है टुकड़ों में टूट जा करने के लिए, तो चाहते हैं, लेकिन है कि चयन के सभी टुकड़े एक ही "आईडी" से पता होना चाहिए।
नोट है कि अतीत में आप अपने HTML में
<a name="..."/>
तत्वों डाल सकता है और आप उन्हें getElementsByName साथ मिल सकता है। तो यह समान है। लेकिन दुर्भाग्य से एचटीएमएल विनिर्देशों ने इसे हटाना शुरू कर दिया है, जो एक बुरा विचार है क्योंकि यह एक साधारण समाधान के बिना एक महत्वपूर्ण उपयोग केस छोड़ देता है।
निश्चित रूप से XPath के साथ आप किसी भी विशेषता या यहां तक कि टेक्स्ट नोड को आईडी के रूप में उपयोग कर सकते हैं। जाहिर है XPointer कल्पना आप किसी भी XPath अभिव्यक्ति द्वारा तत्वों का संदर्भ देते हैं और उसका उपयोग के रूप में में
http://my.host.com/document.html#xpointer(id('A01'))
या उसके लघु संस्करण URL खंड संदर्भ में करने की अनुमति देता
http://my.host.com/document.html#A01
या, अन्य समकक्ष xPath अभिव्यक्ति:
http://my.host.com/document.html#xpointer(/*/descendant-or-self::*[@id = 'A01'])
और हां, तो एक ही नाम का उल्लेख कर सकते विशेषताओं
http://my.host.com/document.html#xpointer(/*/descendant-or-self::*[@name = 'A01'])
या आप अपने गुण
http://my.host.com/document.html#xpointer(/*/descendant-or-self::*[@annotation-id = 'A01'])
आशा इस मदद करता है नाम जो कुछ भी।
यह अब बहुत समझ में आता है। यह कक्षा शैली-वर्ग जैसी कुछ चीज़ों में बदल सकती है, और अधिक समझने के लिए। –
आपको किसी दस्तावेज़ में किसी ने लिखा था परवाह करना चाहिए। परिभाषित, समीक्षा और स्वीकार किए गए मानकों के बिना मुझे संदेह है कि इस प्रश्न से पूछने के लिए आपके पास ऐसी जगह होगी :-) – andyb
हा! वेस्ले ने अपना नाम बदलकर @ मोग कर दिया। – Ziggy