2017-06-21 51 views
0

我有十六進制顏色代碼,但jQuery對象..如何設置背景顏色?Jquery對象在十六進制中設置背景顏色

var color = "FF00FF"; 

if (arr[0] == "True") { 
      $(e.container).closest('td').css('background-color', color); 
     } 

我試過使用this hextorgb函數返回一個對象。我如何在我的代碼中使用它?

var color = arr[1]; 

     var rgbColor = hexToRgb('#' + 'FF00FF'); 

     if (arr[0] == "True") { 
      alert('setting color:'+ rgbColor); 
      $(e.container).closest('td').css('background-color', 'rgb(12,3,7)'); 
     } 

function hexToRgb(hex) { 
    var result = /^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(hex); 
    return result ? { 
     r: parseInt(result[1], 16), 
     g: parseInt(result[2], 16), 
     b: parseInt(result[3], 16) 
    } : null; 
} 

回答

1

hexToRgb方法將顏色分成單獨的通道。所以,結果你會在對象中有三個chanel。

var result = { 
    r: "128", 
    g: "129", 
    b: "2" 
} 

在此之後就可以形成格式`rgb(${result[0]}, ${result[1], ${result[2]})`新的字符串,可以直接設置爲背景色的DOM元素。

此外,由於您具有來自不同通道的顏色,因此可以修改它們以創建新的顏色字符串。

但是,如果已經有十六進制顏色,不清楚爲什麼你需要這樣的轉換。

+0

謝謝你!有一個糟糕的一天不能認爲直:) – Samra

相關問題