2012-09-30 85 views
1

我試圖讓元素的背景顏色的jQuery - 獲得元素的背景顏色以十六進制

$(document).ready(function(){ 
    $.each('.log-widget',function(){ 
    console.log($(this).css('backgroundColor')); 
    //$(this).css({'box-shadow':'1px 1px 20px'+}); 
    }); 
    }); 

並不作品它把我送回去:TypeError: invalid 'in' operand a

我想抓住每一個背景顏色元素並將其返回到十六進制顏色。

回答

3

你正在迭代一個不是你想要的字符串。你想.each

$(".log-widget").each(function() { ... }); 

或者,你可以使用$.each,而是用一個jQuery集:

$.each($(".log-widget"), function() { ... }); 

在任何情況下,你會創建從選擇串一組。

2

由於@pimvdb指出,您的.each語法是錯誤的。但是,要返回十六進制顏色,沒有原生方式。你必須自己做轉換。看一下類似問題的這個答案:little link

+1

+1,好點。我注意到,在Chrome上,您鏈接的解決方案僅佔DOM中的元素。斷開連接的元素似乎沒有像'red'這樣的顏色轉換爲十六進制/ rgb。 – pimvdb

+0

@pimvdb是的,[看到這個](http://stackoverflow.com/questions/12660784/)。 – Chris

相關問題