2012-08-06 7 views
20

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

<label for="rooms">Number of rooms</label> 
<select id="rooms"> 
        <option value="1">1</option> 
        <option value="2">2</option> 
        <option value="3">3</option> 
        <option value="4">4</option> 
</select> 

उत्तर

38

कक्षाएं अद्वितीय नहीं हैं (आप एक ही कक्षा के साथ कई तत्व हो सकते हैं), तो नहीं।

आप आईडी का उपयोग किए बिना एक इनपुट के लिए एक लेबल संबद्ध करना चाहते हैं, तो आप परोक्ष से कहा सहित इनपुट लेबल के अंदर असाइन कर सकते हैं:

<label>Number of rooms 
    <select name="rooms"> 
     <option value="1">1</option> 
     <option value="2">2</option> 
     <option value="3">3</option> 
     <option value="4">4</option> 
    </select> 
</label> 
+2

इसके लिए समर्थन उतना अच्छा नहीं है जितना कि 'के लिए' विशेषता के लिए है। (हालांकि यह पुराना-आईई है जो कि बड़ी समस्या है और यह पर्याप्त रूप से मृत हो सकता है कि इससे कोई फर्क नहीं पड़ता)। – Quentin

+0

नाइस - मुझे लेबल – freefaller

+0

@Quentin: Aye के भीतर नियंत्रण घोंसला करने में सक्षम होने के बारे में पता नहीं था, जब तक कि वह किसी प्रकार का मुड़ता हुआ स्थानीय एप्लिकेशन नहीं बना रहा जहां पर्यावरण केवल आईई 6 का उपयोग करता है, वहां कोई समस्या नहीं होनी चाहिए । अपग्रेड करने के लिए एक अतिरिक्त नोटिस के साथ, टूटी हुई वेबसाइटों को देखने के लिए आईई 6 लायक (आईएमएचओ) का उपयोग करने वाले लोग। और यदि वे नहीं चाहते हैं, तो आप कल्पना कर सकते हैं कि वे स्वयं के साथ क्या कर सकते हैं। –

3

नहीं, आप नहीं कर सकते। एकमात्र विशेषता जिसका आप उपयोग कर सकते हैं id विशेषता है।

यह किसी वर्ग का उपयोग करने के लिए समझ में नहीं आता है (जो संबंधित तत्वों के समूह का वर्णन करता है) क्योंकि एक लेबल केवल एक ही फ़ॉर्म नियंत्रण से जुड़ा जा सकता है।

4

नहीं, आप किसी तत्व के class का उपयोग नहीं कर सकते हैं, क्योंकि एक ही कक्षा को कई तत्वों द्वारा उपयोग किया जा सकता है - इस मामले में, कौन सा तत्व label होगा?

3

यहाँ आप जब का एक उदाहरण है एक आईडी या घोंसला नियंत्रण का उपयोग नहीं करना चाहेंगे:

  • मैं बैकबोनजेएस एप्लिकेशन बना रहा हूं जो टेम्पलेट का उपयोग करता है। चूंकि टेम्पलेट को डुप्लिकेट किया जा सकता है, इसलिए आईडी का उपयोग करने से बचना महत्वपूर्ण है, क्योंकि यह उसी आईडी के साथ डीओएम में कई तत्व बनाएगा।

  • मैं बूटस्ट्रैप का भी उपयोग कर रहा हूं, जो <label> तत्व के अंदर लपेटकर एक अलग (और अवांछित) तरीके से नियंत्रण प्रस्तुत करेगा।

इस बिंदु पर, एकमात्र समाधान मैं नियंत्रण तत्व को लपेटना चाहता हूं और इच्छित आउटपुट प्राप्त करने के लिए डिफ़ॉल्ट सीएसएस को ट्वीक करना चाहता हूं। अगर किसी के पास अधिक सुरुचिपूर्ण समाधान है, तो कृपया

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