我在jsfiddle中复制了我的问题:http://jsfiddle.net/66UCX/
当用户点击表格中的td时,我想要做的就是在红色和白色之间切换。我尝试使用if语句来测试背景颜色,如下所示:
if($("#fbodytd_"+uid+"_"+row+"_"+col).css("background-color") == "rgb(255, 0, 0)"){
并且没有用,所以我尝试添加和删除一个名为'active'的类并测试它。感谢。
答案 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。