cweston
cweston

Reputation: 11647

Reset element color to default stylesheet color (jQuery, JavaScript)

I need to be able to reset an input field back to its original color after it has been possibly changed via javascript to a different value. The problem is I do not want to hard code the value in case the stylesheet changes. I would like to use the default color used on the page.

Is resetting the color like this fine, or is there a better way to do this?

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

Upvotes: 26

Views: 29671

Answers (3)

Avinash
Avinash

Reputation: 1

Fine, but you have to specify the color inside quote and id of the input on what color should change.

This will work :)

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

Upvotes: 0

Paul D. Waite
Paul D. Waite

Reputation: 98816

If you wanted to do it in plain JavaScript, you could do:

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

The only issue with this, or your jQuery method, is if the HTML has a style attribute that sets the color CSS property. If you wanted to preserve that, you’d have to store it on page load.

But if it’s alright to assume there isn’t a style attribute, then you’re golden.

Upvotes: 18

Alsciende
Alsciende

Reputation: 26971

There's no better way. It's the standard way.

Basically, there's no way to delete a CSS attribute from the style property of DOM elements. So all you can do is set the attribute value to empty and let CSS do its job of reverting back to the stylesheet.

Upvotes: 28

Related Questions