Вопрос по jquery, background-color, css – Как проверить цвет фона элемента с помощью jquery

5
if($(this).css("background-color")==Crimson) 

это правильно ? .css («background-color», «white») изменит цвет, но я не хочу его менять, я хочу знать, какой это цвет.

Основные браузеры всегда будут возвращать цвет фона вrgb или жеrgba Формат старых браузеров вернет значение, которое было установлено. noob

Ваш Ответ

4   ответа
2

if($(this).css("background-color")=="crimson") 

какcss("background-color") Результат атрибута будет маленькими буквами. так что если вы сравните с капиталом, очевидно, он вернет false. :) Маленькая хитрость надеюсь, что работа

2

if( $(this).css("background-color") == "Crimson" ) 

в противном случае это правильно.

.css() вернет только значения RGB. так что это может не сработать.
5

"" или же'':

if($(this).css("background-color")=="Crimson") 
Обратите внимание, что это будет работать только в более старой версии браузера. Новые браузеры вернутся"rgb(220, 20, 60)" если"Crimson" был установлен. Попробуйте это:$("<div>").css("background-color","Crimson").appendTo("body").css("background-color")
@micha: Да, если не указано иное, но имя фона показывает, что оп установил его.
22

if ($("#notify-9").css('background-color')=="rgb(220, 20, 60)") alert("matched");

вам нужно преобразовать имя в красный, зеленый, синий компоненты, вы можете использовать этот инструмент

http://www.yellowpipe.com/yis/tools/hex-to-rgb/color-converter.php

Тонкие детали ... при написании rgb () обратите внимание на начальные пробелы перед вторым и третьим значением.

Похожие вопросы