0

我正在尝试为我的 html 表创建一个 jquery 脚本,以便当我单击tr一行时,它会设置其颜色。我用 .css() 成功地做到了这一点,但我想要这样当我再次单击同一行时,我希望将颜色设置回默认值(背景颜色)。

setTableRowColor:function(status) {
        if (status == true) {
            $("table tr").click(function(){
                $(this).css('background-color','red');                      
            });                 
        };
    },

检查:http: //jsfiddle.net/R5GzS

所以我不知道如何将 css() 回调设置为我的默认颜色。

4

2 回答 2

3

最好的办法是使用行颜色创建一个 CSS 类,然后切换该类:

$("table tr").click(function(){
    $(this).toggleClass('active');                   
}); 

.active {
    background-color: red;
}
于 2013-09-06T17:35:23.453 回答
2

Use a class instead and add/remove it via toggleClass():

setTableRowColor:function(status) {
    if (status == true) {
        $("table tr").click(function(){
            $(this).find('td').toggleClass('red');                      
        });                 
    };
}

jsFiddle example

于 2013-09-06T17:38:40.147 回答