首先要理清思路,当你点击一行的时候,有两种情况:
1.这一行不是刚才点中的
2.这一行是刚才点中的你需要一个变量来存储刚才点中行的信息,例如:你刚才点中的是第2行,这时候,你再点第二行是,颜色应该不变,但这个时候你要是点的是第三行,你先得把第二行的颜色变回来,再把第三行的颜色加重。function changecolor(num)
{
  var hidTemp = document.all.hidTemp.value; //`你要存储行号的hidden变量。
  if (hidTemp == num) { 
     return;
  }else{
      document.all("selecttr"+hidTemp).bgColor='#000000';//变回以前的颜色
      document.all("selecttr"+num).bgColor='#FF0000';//点中行变色
      document.all.hidTemp.value = num;
  }
}
</script>
思路具体就是这样,也许写的还有问题,请尝试一下。好运!

解决方案 »

  1.   


    <script language="javascript">
    function changecolor(num)
    {
    var obj = event.srcElement;
    obj.style.backgroundColor = "#FF0000";
    }
    </script>
      

  2.   

    应该是不用那么麻烦的,首先得有两个事件,一个是onclick(),另外是的onblur()
    onclick调用changecolor(),onblur调用resetcolor()<script language="javascript">
    function changecolor()
    {
    var obj = event.srcElement;
    obj.style.backgroundColor = "#FF0000";
    }
    function resetcolor(){
    var obj = event.srcElement;
    obj.style.backgroundColor = "transparent";
    }
    </script>
    试试