Кросс-браузерное решение для проверки значений CSS без манипуляции с DOM:
function getStyleRuleValue(style, selector) {
for (var i = 0; i < document.styleSheets.length; i++) {
var mysheet = document.styleSheets[i];
var myrules = mysheet.cssRules ? mysheet.cssRules : mysheet.rules;
for (var j = 0; j < myrules.length; j++) {
if (myrules[j].selectorText && myrules[j].selectorText.toLowerCase() === selector) {
return myrules[j].style[style];
}
}
}
};
Использование:
getStyleRuleValue('backgroundColor', '.chart-color')
дезинфицированная версия (принудительно вводит ввод в строчный регистр и позволяет использовать case без ведущего ".")
function getStyleRuleValue(style, selector) {
var selector_compare=selector.toLowerCase();
var selector_compare2= selector_compare.substr(0,1)==='.' ? selector_compare.substr(1) : '.'+selector_compare;
for (var i = 0; i < document.styleSheets.length; i++) {
var mysheet = document.styleSheets[i];
var myrules = mysheet.cssRules ? mysheet.cssRules : mysheet.rules;
for (var j = 0; j < myrules.length; j++) {
if (myrules[j].selectorText) {
var check = myrules[j].selectorText.toLowerCase();
switch (check) {
case selector_compare :
case selector_compare2 : return myrules[j].style[style];
}
}
}
}
}