更改表格行的颜色onclick

时间:2012-10-19 08:51:43

标签: javascript jquery css html5

我创建了一个包含交替颜色(例如黄色和红色)的行的表。现在,我想将单击行的颜色更改为一种常用颜色(比如蓝色)。再次单击时,还原为原始颜色。 我可以使用此代码更改颜色

$("#mainTable").find('#'+IDClicked).css("background-color", "#bbbbff");

我无法弄清楚如何恢复。

4 个答案:

答案 0 :(得分:9)

我们假设您的代码是这样的:

HTML

<table id="rowClick">
    <tr>
        <td>Cell</td>
        <td>Cell</td>
        <td>Cell</td>
        <td>Cell</td>
    </tr>
    <tr>
        <td>Cell</td>
        <td>Cell</td>
        <td>Cell</td>
        <td>Cell</td>
    </tr>
    <tr>
        <td>Cell</td>
        <td>Cell</td>
        <td>Cell</td>
        <td>Cell</td>
    </tr>
</table>

在这种情况下,您可以这样使用jQuery:

$(document).ready(function(){
    $("#rowClick > tr").click(function(){
        $(this).toggleClass("active");
    });
});

最后是CSS部分:

table tr.active {background: #ccc;}

小提琴:http://jsbin.com/icusec/2

答案 1 :(得分:3)

请尝试以下代码

<强> CSS

.high-light{background:blue !important;}

<强>的jQuery

$(document).ready(function(){

 $('table tr').click(function(){ $(this).addClass("high-light");  });
 //If you have TD's background set try the below commented code
  $('table tr td').click(function(){ $(this).parent().find('td').addClass("high-light");  });
});

答案 2 :(得分:3)

完全回答您的问题:

$('#box').on('click', function() {
    var box$ = $(this),
        isBgColorChanged = box$.data('isBgColorChanged'),
        bgColor = !!isBgColorChanged ? '#444' : '#ccc';
    box$.css('background-color', bgColor)
        .data('isBgColorChanged', !isBgColorChanged);
});​

Fiddle

更优雅的解决方案:

$('#box').on('click', function() {
    $(this).toggleClass('activated');
});​

Fiddle

答案 3 :(得分:2)

试试 demo

$('table tr').toggle(function(){
$(this).addClass('myclass');
}, function(){
$(this).removeClass('myclass');
});​

<强> CSS

.myclass{
background: red;
}

table tr{
 background: yellow;
}