2013-12-15 95 views
0

我有一個與background-color:rgba(1,0,0,0)元素,我需要通過jquery得到這個值來做一些事情。我試過$('.overlay').css("backgroundColor"),但它返回transparent。有沒有辦法通過jquery獲取元素的rgba背景顏色?越來越rgba背景顏色由jquery

順便說一下,這裏是我的代碼:

HTML:

<div class="overlay"></div> 

CSS:

.overlay { background-color:rgba(1,0,0,0) } 

的jQuery:

$('.overlay').css("backgroundColor"); 
+1

你使用的是哪個版本的jQuery?如果我運行你提供的代碼,我會返回'rgba(1,0,0,0)'。看看[這個jsFiddle](http://jsfiddle.net/pLNNz/2/) – Lasse

+0

即時通訊使用jquery-1.10.1 !! –

+2

這是一個瀏覽器問題,在Firefox中返回透明,而在Chrome中返回實際的CSS屬性。 –

回答

1

正如@codingstill指出的那樣,Firefox返回transparent。但你仍然可以這樣做:

var bgColor = $('.overlay').css("backgroundColor");  
if(bgColor == 'transparent' || bgColor == 'rgba(1, 0, 0, 0)'){ 
    //do stuff 
} 
+1

這只是一個黑客,如果有不同顏色的規則,例如.overlay2 {background-color:rgba(2,0,0,0)}。另外,在IE11中它什麼也沒有返回:(:) –

+0

** ** ** **,我的if語句是:'if(bgColor =='rgba(1,0,0,0)){do function A}''和'else if(bgColor =='rgba(2,0,0,0)){do function B}'!!firefox將假設都是透明的,所以我會在Firefox中遇到問題嗎?或者一般功能是相同和我的代碼將在Firefox和鉻等工作? –

+0

@codingstill:確實。你是絕對正確的。它在IE11中返回* nothing *!奇怪... – Lasse