0

tr行をクリックすると色が設定されるように、html テーブル用の jquery スクリプトを作成しようとしています。私は .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

代わりにクラスを使用し、toggleClass() を介して追加/削除します。

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

jsFiddle の例

于 2013-09-06T17:38:40.147 に答える