2012-03-01 31 views
1

我正在使用jquery为表格数据设置背景颜色,它的工作正常,但我需要用户再次单击td时颜色应该取消选择。其我的脚本添加颜色。点击添加和删除表格数据的背景颜色(td)

java script: 
    jQuery('td').click(function() { $(this).addClass('active'); }); 

my css class: 
.active{background-color:red;} 

当用户再次点击td类应该删除。如何实现这一点。

回答

3
jQuery('td').click(function() { $(this).toggleClass('active'); }); 

toggleClass如果不存在或添加,如果它存在。

+1

你只是给了我钥匙......它工作正常。谢谢:) – krish 2012-03-01 08:28:44

+0

np。如果满足您的问题,请标记为答案。 – 2012-03-01 08:59:52

3

您可以使用

$(this).removeClass('active'); 

虽然你需要做一个检查,看它是否已经激活,这将使你的代码是这样的:

jQuery('td').click(function() { 
    if($(this).hasClass('active') { 
    $(this).removeClass('active'); 
    } else { 
    $(this).addClass('active'); 
    } 
}); 

编辑:

@Justice更正确:

jQuery('td').click(function() { $(this).toggleClass('active'); }); 
+1

感谢您的信任投票。不知道适当的礼节是否会让你满意,但谢谢你。 – 2012-03-01 08:25:28