2010-03-23 12 views
20

Devo essere in grado di reimpostare un campo di input sul suo colore originale dopo che è stato eventualmente cambiato tramite javascript su un valore diverso. Il problema è che non voglio codificare il valore nel caso in cui il foglio di stile cambi. Vorrei usare il colore predefinito usato sulla pagina.Ripristina colore elemento nel foglio di stile predefinito (jQuery, JavaScript)

Reimposta il colore come questo fine, o c'è un modo migliore per farlo?

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

risposta

22

Non c'è modo migliore. È il modo standard.

Fondamentalmente, non c'è modo di eliminare un attributo CSS dalla proprietà di stile degli elementi DOM. Quindi tutto ciò che puoi fare è impostare il valore dell'attributo su vuoto e lasciare che il CSS faccia il suo lavoro per tornare al foglio di stile.

6

Se si voleva farlo in pianura JavaScript, si potrebbe fare:

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

L'unico problema con questo, o il metodo di jQuery, è se il codice HTML ha un attributo style che imposta la proprietà color CSS . Se si desidera preservarlo, è necessario memorizzarlo al caricamento della pagina.

Ma se è giusto presumere che non ci sia un attributo di stile, allora sei d'oro.

+0

si vorrà una stringa vuota invece di null lì. – ajm

+0

@ajm: ah si, evviva. –

0

Bene, ma è necessario specificare il colore all'interno di virgolette e id dell'ingresso su quale colore dovrebbe cambiare.

Ciò funzionerà :)

$("#InputIdName").css('color', '#979797'); 
Problemi correlati