使用';中断';在带有if语句的javascript开关中

使用';中断';在带有if语句的javascript开关中,javascript,Javascript,每次单击表数据元素时都需要更改其背景色。每个表数据都有一个唯一的id。全局变量td1的初始值为0。switch语句中的值更改为0或1。第一次单击始终为“黄色”,但下一次单击也是如此,它应更改为“蓝色”,然后返回到“黄色”,以此类推 我尝试了“else”和“else if”,结果是一样的 谢谢你的帮助 function changebg(elem) { td_id=elem.id; switch (td_id) { case "a1" :

每次单击表数据元素时都需要更改其背景色。每个表数据都有一个唯一的id。全局变量td1的初始值为0。switch语句中的值更改为0或1。第一次单击始终为“黄色”,但下一次单击也是如此,它应更改为“蓝色”,然后返回到“黄色”,以此类推

我尝试了“else”和“else if”,结果是一样的

谢谢你的帮助

    function changebg(elem)
    {
    td_id=elem.id;

    switch (td_id)
    {
    case "a1" :
      if(td1 = 0)
      {  
      elem.style.backgroundColor = "yellow";
      td1=1;
      break;
      }

    else if (td1 = 1)
      {
      elem.style.backgroundColor = "blue";
      td1=0;
      break;
      }

    case "a2" :
    elem.style.backgroundColor = "yellow";
    break; 
    }
    }
对函数的调用是“onclick(this)”(snipbit:table实际上有几行)


1.
2.

平等性测试是
=
<代码>=
用于分配任务。

我建议正确关闭所有标签(即
td

然后,初始化所需的变量以避免意外结果是一种很好的做法

var td1=0;//初始化标志
功能更改bg(elem){
td_id=元素id;
交换机(td_id){
案例“a1”:
如果(td1==0){
elem.style.backgroundColor=“黄色”;
td1=1;
}否则如果(td1==1){
elem.style.backgroundColor=“蓝色”;
td1=0;
}
打破
案例“a2”:
elem.style.backgroundColor=“黄色”;
打破
}
}

1.
2.
更改为“if(td1==0)”和“else if(td1==1)”,结果相同。除第一次单击外,仍不更改背景。
    <tr>
    <td onclick="changebg(this)" id="a1">1
    <td onclick="changebg(this)" id="a2"> 2
    </tr>