Как я могу проверить цвет фона класса с помощью jQuery?

Я выбрал цвет фона класса с помощью CSS, теперь я хочу поместить его в переменную с помощью jQuery.Спасибо

5
задан halocursed 28 January 2010 в 21:55
поделиться

4 ответа

Возможно, потребуется применить этот класс к временному элементу, а затем извлечь bgcolor этого элемента.

.cm { background-color:#990000 }

--

// creating an empty element and applying our class to it
var bgcolor = $("<div>").appendTo("body").addClass("cm").css("background-color");
alert(bgcolor); // rgb(153, 0, 0)
5
ответ дан 14 December 2019 в 04:38
поделиться
var $tmp = $('<a class="classname"></a>');
$('body').append($tmp).hide();
var color = $('.classname').css('background-color');
$tmp.remove();

EDIT: Применение класса к скрытому элементу.

-121--4859665-

Если на странице есть элемент, использующий этот класс, можно сделать что-то вроде:

var backgroundColor = $ ('.classname') .css ('фоновый-цвет');

Но если класс не используется, я не знаком с каким-либо способом получить сохранение цвета от загрузки .css

2
ответ дан 14 December 2019 в 04:38
поделиться
var $tmp = $('<a class="classname"></a>');
$('body').append($tmp).hide();
var color = $('.classname').css('background-color');
$tmp.remove();

EDIT: Применяет класс к скрытому элементу.

0
ответ дан 14 December 2019 в 04:38
поделиться

Проблема в том, что jquery не может пересечь настоящую таблицу стилей (насколько я знаю), так что если у вас есть элемент с двумя классами, вы не сможете узнать, какой цвет он возвращает - для того класса, который вы хотите, или для другого. Например:

.big { цвет фона: желтый; }

.mean { Цвет фона: синий; }

Первый элемент будет синего цвета, но если вы запросите цвет фона, используя:

 $(".big").css("background-color");

Вы получите синий, даже если этот класс установлен в желтый цвет, так как первый элемент технически большой, но у него есть синий фон.

Мне нравится идея Джонатана Сэмпсона. Создайте элемент, сделайте его невидимым или неэкранированным, но дайте ему ID и класс, который вас интересует. Затем проверьте цвет фона этого идентификатора вместо проверки по классу:

 $("#colortest").css("background-color");
1
ответ дан 14 December 2019 в 04:38
поделиться
Другие вопросы по тегам:

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