2013-01-21 8 views
8

मैं समझता हूं कि एक ही आईडी का उपयोग किसी पृष्ठ में कई बार विकृत HTML बनाता है। एक jquery चयनकर्ता का उपयोग करते समय केवल आईडी के साथ पहला तत्व वापस कर दिया जाएगा, लेकिन मेरे आवेदन में मुझे इस मुद्दे में नहीं चलना चाहिए।पृष्ठ पर किसी भी आईडी को एक बार खराब अभ्यास का उपयोग कर रहा है, भले ही मैं पृष्ठ के माध्यम से पार्स नहीं कर रहा हूं?

मेरे पास आइटम दृश्यों की सूची है जिसमें सभी के पास एक तत्व होगा जिसे मुझे संदर्भित करने की आवश्यकता है। के बाद से प्रत्येक आइटम केवल कुछ कारण कोई विरोध (पेज पर एक से अधिक देखते हैं, भले ही) का उत्पादन नहीं होगा के लिए एक आईडी चयनकर्ता में अपने स्वयं के $el गुजर तक पहुँच गया है।

मैं नकली गया है मैं एक बेला here

इस परियोजना में में क्या मतलब है मैं किसी भी पेज विस्तृत नहीं कर रहा हूँ तो पार्स करता है मेरा मानना ​​है कि यह सुरक्षित होना चाहिए। क्या कोई कारण है कि मुझे ऐसा नहीं करना चाहिए?

+1

_You_ पेज के माध्यम से पार्स करने नहीं किया जा सकता है, लेकिन ब्राउज़र करता है। – Oded

+1

प्रश्न: आप क्यों? का उत्तर आपके [यह संभव है] (http://stackoverflow.com/questions/7262195/several-elements-with-the-same-id-responding-to-one-css-id-selector/7262229#7262229), लेकिन मत करो। –

+0

क्या कोई कारण है कि आप कक्षा का उपयोग क्यों नहीं कर सकते? – mattfryercom

उत्तर

5

आप केवल पता है कि वर्तमान आवश्यकताओं हैं।

मानकों और वैध कोड/मार्कअप पर रखना सर्वोत्तम है क्योंकि आप नहीं जानते कि भविष्य में क्या होगा।

इस एप्लिकेशन में, आप jQuery का उपयोग करने के लिए बहुत अच्छी तरह से समाप्त हो सकते हैं और फिर आप परेशानी में होंगे।

सीएसएस कक्षाओं का उपयोग करने के लिए कई तत्वों को स्टाइल करने का समाधान - ऐसा करने का बिल्कुल कोई कारण नहीं है, क्योंकि यह आईडी का उपयोग करने जितना आसान है।

3

http://www.w3.org/TR/WCAG20-TECHS/H93.html

http://www.w3.org/TR/html401/struct/global.html#adef-id

वहाँ अन्य चीजें हैं जो अपने HTML दस्तावेज़ पढ़ रहे हैं, बस ब्राउज़र नहीं।

HTML विनिर्देश के अनुसार, आईडी गुण एक पृष्ठ पर अद्वितीय होना चाहिए (यह एक मापदंड वेब डिजाइनर/डेवलपर्स बस का आविष्कार नहीं है)

0

हाँ यह बुरा व्यवहार है। एक id उस तत्व का एक अद्वितीय संदर्भ होना चाहिए। इसके बजाय class का उपयोग करें।

0

बिल्कुल। एचटीएमएल, सीएसएस, और जावास्क्रिप्ट के लिए चश्मे एक समझौते हैं कि कुछ कोड के साथ सामना करते समय ब्राउज़र कैसे व्यवहार करेगा। ब्राउजर कई गारंटी नहीं देते हैं जब आप ऑफ़-स्पेक करते हैं, और वे कम भी कम करते हैं कि वे सभी सहमत होंगे।

जैसा कि ओड ने सवाल पर अपनी टिप्पणी में उल्लेख किया है, ब्राउज़र आपके कोड से एक डोम पेड़ बनाते हैं, इसे शैली देते हैं, और इसे प्रस्तुत करते हैं। तो, इस पर निर्भर करता है कि किसी दिए गए ब्राउज़र ने ऐसा करने का निर्णय लिया है, वे एक ही आईडी के साथ कई तत्वों के साथ समस्याओं में भाग ले सकते हैं।

इसलिए, यह क्यों जोखिम? मैं किसी भी उदाहरण के बारे में नहीं सोच सकता जहां एक आईडी (या कुछ भी नहीं) का उपयोग आईडी के स्थान पर नहीं किया जा सकता था।

संबंधित मुद्दे