2010-04-22 17 views
12

मान लें कि मुझे यह कोड मिला हैसीएसएस में तत्व आईडी द्वारा तत्व लेबल कैसे छिपाना है?

<table> 
    <tr> 
     <td><input id="foo" type="text"></td> 
     <td><label for="foo">This is foo</label></td> 
    </tr> 
</table> 

यह इनपुट छुपाएगा:

#foo { display: none;} /* or hidden could work too, i guesss */ 

मैं लेबल को कैसे छिपा सकता हूं?

+0

आपकी सभी टिप्पणियों के लिए धन्यवाद। मुझे यह उल्लेख करना चाहिए था कि मैं HTML को नहीं बदल सकता क्योंकि यह मालिकाना सॉफ्टवेयर है। केवल सीएसएस मेरे नियंत्रण में है। इसलिए, [for = "foo"] दृष्टिकोण सबसे अच्छा लगता है। लेकिन यह ध्यान दिया जाना चाहिए कि यह आईई 6 * या * आईई 7. – Stoob

उत्तर

20

आप लेबल एक आईडी, इस तरह देते हैं:

<label for="foo" id="foo_label"> 

फिर इस काम करेगा: जब तक जावास्क्रिप्ट एक है

#foo_label { display: none;} 

आपका अन्य विकल्प नहीं वास्तव में क्रॉस-ब्राउज़र के अनुकूल, कर रहे हैं विकल्प। CSS3 चयनकर्ता, के रूप में व्यापक रूप से समर्थित नहीं इस तरह दिखता है:

[for="foo"] { display: none;} 
0

आप अपने <tr> टैग एक आईडी foo_row या जो कुछ भी देना चाहिए। और इसके बजाय

0

आपको शायद एक वर्ग/आईडी जोड़ना है और फिर एक और सीएसएस घोषणा करना है जो इसे छुपाता है।

1

आपको लेबल को भी एक अलग आईडी देना है।

<label for="foo" id="foo_label">text</label> 

#foo_label {display: none;} 

या पूरी पंक्ति

<tr id="foo_row">/***/</tr> 

#foo_row {display: none;} 
11

छिपाने आप IE6 उपयोगकर्ताओं के बारे में परवाह नहीं करते हैं, equality attribute selector का उपयोग करें।

label[for="foo"] { display:none; } 
7

कक्षा या एक आईडी के बिना, और अपने विशिष्ट एचटीएमएल के साथ:

table tr td label {display:none} 

अन्यथा यदि आप है jQuery

$('label[for="foo"]').css('display', 'none'); 
+0

में jQuery का उपयोग नहीं करता है यह काम नहीं करता है। – Stoob

+1

क्या आपने इसे $ (दस्तावेज़) के अंदर रखा था। पहले से ही? –

0

यह मेरे लिए काम किया है।

#_account_id{ 
     display: none; 
    } 
    label[for="_account_id"] { display: none !important; } 
संबंधित मुद्दे