2010-03-23 16 views
20

Necesito poder restablecer un campo de entrada a su color original después de que posiblemente se haya cambiado mediante javascript a un valor diferente. El problema es que no quiero codificar el valor en caso de que la hoja de estilo cambie. Me gustaría utilizar el color predeterminado utilizado en la página.Restablecer el color del elemento al color predeterminado de la hoja de estilo (jQuery, JavaScript)

Está restableciendo el color de esta manera, ¿o hay una mejor manera de hacerlo?

$('#theinput').css('color', ''); 

Respuesta

22

No hay mejor manera. Es la forma estándar.

Básicamente, no hay forma de eliminar un atributo CSS de la propiedad de estilo de los elementos DOM. Así que todo lo que puede hacer es establecer el valor del atributo en vacío y dejar que CSS haga su trabajo de revertir a la hoja de estilo.

6

Si quisiera hacerlo de manera clara JavaScript, se puede hacer:

document.getElementById('theinput').style.color = ''; 

El único problema con esto, o su método de jQuery, es si el HTML tiene un atributo style que establece la propiedad color CSS . Si quería preservar eso, tendría que almacenarlo en la carga de la página.

Pero si está bien suponer que no hay un atributo de estilo, entonces está dorado.

+0

usted querrá una cadena vacía en lugar de null allí. – ajm

+0

@ajm: ah sí, aplausos. –

0

Bien, pero debe especificar el color dentro de la cita y la identificación de la entrada sobre qué color debe cambiar.

Esto funcionará :)

$("#InputIdName").css('color', '#979797'); 
Cuestiones relacionadas