получение цвета фона rgba с помощью jquery

У меня есть элемент с background-color:rgba(1,0,0,0), и мне нужно получить это значение с помощью jquery, чтобы что-то сделать. Я пробовал $('.overlay').css("backgroundColor"), но он возвращает transparent. Есть ли способ получить цвет фона rgba элемента с помощью jquery?

кстати, вот мои коды:

html:

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

CSS:

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

jquery:

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

person Payam Shakibafar    schedule 15.12.2013    source источник
comment
Какую версию jQuery вы используете? Если я запущу предоставленный вами код, я верну rgba(1, 0, 0, 0). См. этот jsFiddle.   -  person Lasse    schedule 16.12.2013
comment
Я использую jquery-1.10.1 !!   -  person Payam Shakibafar    schedule 16.12.2013
comment
Это проблема браузера, в Firefox он возвращает прозрачность, а в Chrome возвращает фактическое свойство css.   -  person Tasos K.    schedule 16.12.2013
comment
@codingstill, тогда могу ли я использовать это для оператора if? Я хочу сказать, если background-color из .overlay, например, rgba(1,0,0,0), сделайте что-нибудь. могу я ?   -  person Payam Shakibafar    schedule 16.12.2013
comment
Зачем вам нужно знать, является ли это rgba (1,0,0,0) или rgba (2,0,0,0)?   -  person csbenjamin    schedule 16.12.2013


Ответы (1)


Как указывает @codingstill, Firefox возвращает transparent. Но вы все равно можете сделать:

var bgColor = $('.overlay').css("backgroundColor");    
if(bgColor == 'transparent' || bgColor == 'rgba(1, 0, 0, 0)'){
    //do stuff
}
person Lasse    schedule 15.12.2013
comment
Это просто хак, что если есть похожие правила с другим цветом, например. .overlay2 {цвет фона:rgba(2,0,0,0)}. Кроме того, в IE11 он вообще ничего не возвращает :(. - person Tasos K.; 16.12.2013
comment
точно кодирование, мой оператор 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, а также в chrome и т. д.? - person Payam Shakibafar; 16.12.2013
comment
@codingstill: Действительно. Вы совершенно правы. Он ничего не возвращает в IE11?! Странный... - person Lasse; 16.12.2013
comment
rbga(2,0,0,0) также определяется классом? Если это так, вы можете проверить, имеет ли элемент определенный класс. @Lasse действительно странно... - person Tasos K.; 16.12.2013
comment
@Pay4m: Что точно вы ищете? Прозрачность? - person Lasse; 16.12.2013
comment
Я искал цвет, в то время как я должен был сделать элемент прозрачным, и мне пришлось использовать rgba в моем случае. Я решил свою проблему, и теперь я использую фоновый цвет и непрозрачность вместе. спасибо :) - person Payam Shakibafar; 16.12.2013