使用Jquery读取样式属性

Mat*_*szC 0 jquery styles background

我的页面上有这样的东西.

<div class="number_1" style="background-color:red"></div>
<div class="number_2" style="background-color:yellow"></div>
<div class="number_3"></div>
<div class="number_4"></div>
<div class="number_5" style="background-color:red"></div>
Run Code Online (Sandbox Code Playgroud)

我不能通过添加背景颜色的类来更改HTML代码!它必须从风格红色!

我需要这样的功能

for(var i=1; i<=5; i++){
    if($('.number_'+i).hasBackgroundColor('red')){
        //something
    }else{
        //somethign else
    }
}
Run Code Online (Sandbox Code Playgroud)

.attr('style')==='background-color: red' 似乎没有工作

.css('background-color') 也似乎没有工作

小智 5

在这里你得到背景颜色:

var backgroundColor = $('.number_'+i).css('background-color');
Run Code Online (Sandbox Code Playgroud)

它将返回类似"rgb(245,180,5)"的内容.红色是"rgb(255,0,0)".

如果您更喜欢获取hexa值,例如#ff0000为红色,请使用以下函数:

function hexc(colorval) {
    var parts = colorval.match(/^rgb\((\d+),\s*(\d+),\s*(\d+)\)$/);
    delete(parts[0]);
    for (var i = 1; i <= 3; ++i) {
        parts[i] = parseInt(parts[i]).toString(16);
        if (parts[i].length == 1) parts[i] = '0' + parts[i];
    }
    color = '#' + parts.join('');
}
Run Code Online (Sandbox Code Playgroud)