简体   繁体   中英

jquery css color value returns RGB?

In my CSS file:

a, a:link, a:visited { color:#4188FB; }
a:active, a:focus, a:hover { color:#FFCC00; }

I tried with:

var link_col = $("a:link").css("color");
alert(link_col); // returns rgb(65, 136, 251)

How can I get the HEX code?

*** edit: found the answer here:
Background-color hex to JavaScript variable

Shame on me, could have search a bit better before posting..

Some adjustes to function

$.fn.getHexBackgroundColor = function() {
    var rgb = $(this).css('background-color');
    if (!rgb) {
        return '#FFFFFF'; //default color
    }
    var hex_rgb = rgb.match(/^rgb\((\d+),\s*(\d+),\s*(\d+)\)$/); 
    function hex(x) {return ("0" + parseInt(x).toString(16)).slice(-2);}
    if (hex_rgb) {
        return "#" + hex(hex_rgb[1]) + hex(hex_rgb[2]) + hex(hex_rgb[3]);
    } else {
        return rgb; //ie8 returns background-color in hex format then it will make                 compatible, you can improve it checking if format is in hexadecimal
    }
}

Here you go, this will allow you to use $(selector).getHexBackgroundColor() to return the hex value easily :

$.fn.getHexBackgroundColor = function() {
    var rgb = $(this).css('background-color');
    rgb = rgb.match(/^rgb\((\d+),\s*(\d+),\s*(\d+)\)$/);
    function hex(x) {return ("0" + parseInt(x).toString(16)).slice(-2);}
    return "#" + hex(rgb[1]) + hex(rgb[2]) + hex(rgb[3]);
}

Here is my take. Simple and concise.

 (function($) { $.fn.getHexBackgroundColor = function() { return (function(rgb) { return '#' + (!rgb ? 'FFFFFF' : rgb.match(/^rgb\\((\\d+),\\s*(\\d+),\\s*(\\d+)\\)$/) .slice(1) .map(x => ('0' + parseInt(x).toString(16)).slice(-2)) .join('') .toUpperCase()); })($(this).css('background-color')); } })(jQuery); $(function() { $('#color-rgb').text($('.foo').css('background-color')); $('#color-hex').text($('.foo').getHexBackgroundColor()); }); 
 .foo { background: #F74; width: 100px; height: 100px; } label { font-weight: bold; } label:after { content: ': '; } 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <div class="foo"></div> <label>RGB</label><span id="color-rgb">UNDEF</span><br /> <label>HEX</label><span id="color-hex">UNDEF</span> 

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM