Search code examples
javascriptjquerycssrgba

Convert RGB color value to RGBA at 0.75 alpha


I have the following code to get the background color of an element.

var currentColor = $(this).css('background-color');

which returns something like rgb(123,123,123)

What I now want to do convert this to rgba and show it at 0.75 alpha

So returning something like rgba(123,123,123,0.75)

Any ideas?


Solution

  • Since jQuery always seems to return the color like rgb(r, g, b) for elements that have no alpha, you could simply use:

    $(this).css('background-color').replace(')', ', 0.75)').replace('rgb', 'rgba');
    

    Just make sure the background color isn't rgba already:

    var bg = $(this).css('background-color');
    if(bg.indexOf('a') == -1){
        var result = bg.replace(')', ', 0.75)').replace('rgb', 'rgba');
    }