IE11渲染错误的RGB代码?

时间:2015-04-27 12:00:03

标签: jquery css background-color internet-explorer-11

我用十六进制颜色代码定义了一个常量,如下所示: -

var textboxModifySuccessColor = '#E7FBBD';

在我的JS代码中,我使用此变量使用jQuery css方法设置背景颜色,如下所示: -

$(this).find('option:selected').css('background-color', textboxModifySuccessColor);

但是,当我尝试使用css方法检索相同内容时,我会以rgb格式获取它: -

rgb(10, 36, 106)

我使用了this thread&中提到的功能。 this一个,但它返回#0A246A而不是#E7FBBD。我也尝试了CSS Hooks解决方案,但它正在返回highlight。我应该怎么做以十六进制格式获得完全相同的颜色,即#E7FBBD

P.S.-它在IE 7中工作正常,但这个问题始于IE 11。

更新 -

我再次检查了我的代码并发现通过给定方法的转换是完美的,问题是在渲染代码本身时,我已经打印了十六进制颜色(如我所定义的)和它的rgb等价物(由浏览器呈现)如下所示: -

console.log("Before-" + textboxModifySuccessColor);
$(this).find('option:selected').css('background-color', textboxModifySuccessColor);
console.log("AfterSet-" + $(this).find('option:selected').css('background-color'));

这给了我以下的输出: -

Before-#E7FBBD
AftreSet-rgb(10, 36, 106)

但是,当我尝试使用this转换E7FBBD十六进制代码时,实际的rgb应为:rgb(231,251,189)。浏览器是否呈现错误?

这是我的JS代码: -

$(document).delegate('.myDDlClass', 'change', function () {
        var currentRow = $(this).closest('tr');
        var someText= $.trim(currentRow.find('td select.clsTest').val());
        $(this).closest('tr').find('td select.clsTest').css("background-color", textBoxOriginalBackgroundColor);
        $(this).find('option').css('background-color', textBoxOriginalBackgroundColor);
        if (someText!= SelectDefaultValue) {
            $(this).find('option:selected').css('background-color', textboxModifySuccessColor); //Problem here
        }
    });

0 个答案:

没有答案