检查类以在背景颜色之间切换

时间:2013-11-25 12:14:57

标签: javascript jquery

我在jsfiddle中复制了我的问题:http://jsfiddle.net/66UCX/

当用户点击表格中的td时,我想要做的就是在红色和白色之间切换。我尝试使用if语句来测试背景颜色,如下所示: if($("#fbodytd_"+uid+"_"+row+"_"+col).css("background-color") == "rgb(255, 0, 0)"){

并且没有用,所以我尝试添加和删除一个名为'active'的类并测试它。感谢。

4 个答案:

答案 0 :(得分:0)

您必须包含jquery库

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8/jquery.min.js" type="text/javascript"></script>

并且您的代码在$(document).ready function

中看起来像这样
 <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8/jquery.min.js" type="text/javascript"></script>
<script>
$(document).ready(function(){

$('#button').bind('click', function(){
    $(this).after('<span> click is active</span>');
    $('span').fadeOut(1000);
});

$('#toggle').toggle(
    function(){
        $(this).text('rebind').removeClass('unbind').addClass('rebind');
    },
    function(){

     $(this).text('unbind').addClass('unbind').removeClass('rebind');
    }
);

if($("#toggle").hasClass("unbind")) {
    $('#button').bind('click');
}
else {
    $('#button').unbind('click');
}

});
</script> 

答案 1 :(得分:0)

您没有对您的函数function changecream(uid, row, col)进行任何约束。

这是一个有效的Fiddle

$("table").on("click", "td", function(){
if($(this).hasClass("red")){
    $(this).removeClass("red").addClass("white");
} else {
    $(this).removeClass("white").addClass("red");
}

});

编辑: 如果你只是在背景颜色和所选颜色之间切换,你可以简化&#34;点击&#34;:

$(this).toggleClass("red");

答案 2 :(得分:0)

如果你想要的只是简单地来回改变背景(也许还有别的东西)。像

这样的Addclass
.active
{
    background-color: Red
}

并使用如下代码:

$("table").on("click", "td", function() {
    $(this).toggleClass("active");
});

希望这有帮助。

答案 3 :(得分:0)

如果您仍在使用jQuery,则应使用以下简化版本:

$('table.bodymap td').click(function () {
    $(this).toggleClass('active')
});

有关工作示例,请参阅this fiddle