使用Jquery清除内联CSS:background-color

时间:2014-08-06 22:45:13

标签: jquery html css

我有一个类,我使用Jquery添加背景颜色,但是一旦设置了颜色的值,我就会遇到问题,它会一直显示为undefined

到目前为止我的代码

// Highlight Paid
function highlightPaid() {
    var color = $(this).closest(".course-paid").css("background-color");
    alert(color);
    if(color === undefined) {
        $('.course-paid').css("background-color","#F3F315");
    } else {
        if(rgb2hex(color)=='#F3F315') {
            $('.course-paid').css("background-color","transparent");
        } else {
            $('.course-paid').css("background-color","#F3F315");
        }
    }
}
// Convert RGB to HEX
function rgb2hex(rgb){
    rgb = rgb.match(/^rgb((d+),s*(d+),s*(d+))$/);
    return "#" + ("0" + parseInt(rgb[1],10).toString(16)).slice(-2) + ("0" + parseInt(rgb[2],10).toString(16)).slice(-2) + ("0" + parseInt(rgb[3],10).toString(16)).slice(-2);
}

有没有人对我如何解决这个问题和/或改进这些代码有任何建议?

修改

好的,所以我在它们上面有一些类course-paid的div,然后我的页面上有一个按钮,当我点击它时,我想在具有该类的div上切换背景颜色。因此,如果它没有背景颜色,我希望它具有值#F3F315,如果它具有该颜色,我想删除背景颜色。

1 个答案:

答案 0 :(得分:0)

我最终使用以下代码

function highlightPaid() {
    $('.course-paid').each(function( i ) {
        if (this.style.backgroundColor == '') {
            this.style.backgroundColor = "#F3F315";
        } else {
            this.style.backgroundColor = '';
        }
    });         
}