Javascript(jQuery)给了我奇怪的结果

时间:2016-05-19 14:26:02

标签: javascript jquery algorithm html-table

昨天我开始为在互联网上找到的一些随机练习编写代码。我的任务是有一个空的HTML表格,当用户按下一个特定按钮时,它会将单元格的颜色更改为相反的颜色(绿色或红色)并更改(添加或减去1)其值。点击10次后,它应该使用平均值和其他一些内容提醒消息。我第一次点击按钮,一切正常。但是,对于后续点击,它表现得很奇怪。这是一些代码

 //.....
var n=0;
$("#b1").click(function(){
  document.getElementById("b1").disabled = true; 
  $("td").removeClass();
  for (var i=0; i<25; i++)
  {
        var z=$("td").eq(i)
        z.text(Math.floor((Math.random() * 10) ))
        if (z.text()<5)
        {
            z.addClass("linkClass")
        }
        else 
        {
            z.addClass("linkClass2")
        }
  }
  $("td").click(function(){
    n++;
    if ($(this).hasClass("linkClass"))
    {
        $(this).removeClass()
        $(this).text(parseInt($(this).text())-1);
        $(this).addClass("linkClass2")
    }
    else
    {
        $(this).removeClass()
        $(this).text(parseInt($(this).text())+1);
        $(this).addClass("linkClass")
    }
    if (n==10)
    {
        alert("Ten times clicked");
        document.getElementById("b1").disabled = false; 
        n=0;
    }

linkClasslinkClass2只是改变单元格的背景颜色。有什么想法吗?

1 个答案:

答案 0 :(得分:1)

您应该从$("td").click(function(){移出$("#b1").click(function(){,因为每次点击按钮时,您再次点击td,以便一次点击几次