2010-04-22 17 views
12

Digamos que tengo este código¿Cómo ocultar la etiqueta del elemento por ID del elemento en CSS?

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

Esto ocultará la entrada:

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

¿Cómo oculto la etiqueta?

+0

gracias por todos sus comentarios. Debería haber mencionado que no puedo cambiar el HTML porque es un software propietario. Solo el CSS está bajo mi control. Por lo tanto, el enfoque [for = "foo"] parece ser el mejor. Pero debe tenerse en cuenta que no funciona en IE 6 * o * IE 7. – Stoob

Respuesta

20

Si usted le da la etiqueta de un documento de identidad, así:

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

Entonces esto funcionaría:

#foo_label { display: none;} 

Sus otras opciones no son muy amables entre navegadores, a no ser que Javascript es una opción. El selector CSS3, no es compatible con la mayor amplitud se ve así:

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

Usted debe dar su etiqueta <tr> un id foo_row o lo que sea. Y ocultar que en su lugar

0

Probablemente tengas que agregar una clase/ID y luego hacer otra declaración de CSS que también lo oculte.

1

También debe proporcionar una identificación por separado a la etiqueta.

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

#foo_label {display: none;} 

u ocultar toda la fila

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

#foo_row {display: none;} 
7

Sin una clase o un id, y con su html específica:

table tr td label {display:none} 

De lo contrario si han jQuery

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

usando jQuery esto no funciona. – Stoob

+1

¿Colocaste eso dentro de $ (document) .ready? –

0

Esto es trabajado para mí.

#_account_id{ 
     display: none; 
    } 
    label[for="_account_id"] { display: none !important; } 
Cuestiones relacionadas