I have an element like this:
<p>My text with a <strong class="highlighted">sample highlight</strong>.<p>
And the CSS class like this:
.highlighted {
background: #f0ff05;
font-weight: normal;
}
But when I use a jQuery like this:
$(".highlighted").css("backgroundColor");
It returns rgb(240, 255, 5)
. I could write some function to convert from rgb to hex, but I would like to know if there is some way to jQuery return the value already on hexadecimal format.
This is a slightly adjusted version of Erick Petrucelli's answer. It appears to handle RGBA.
Colors are always returned as rgb (except IE6 which already returns in hex), then we cannot return in another format natively.
Like you said, you can write a function to convert hex to rgb. Here is a topic with several examples of how to write this function: How to get hex color value rather than RGB value?.
But you wonder if there is a way to directly return the jQuery already in hex: the answer is yes, this is possible using CSS Hooks since jQuery 1.4.3.
The code should be:
And when you call
$(".highlighted").css("backgroundColor")
, the return will be#f0ff05
. Here is a working sample to you see it working.