<SCRIPT LANGUAGE="JavaScript">
<!--
function ChangeColor(temp){
for(i=0;i<a.rows.length;i++){
a.rows[i].style.background="#ffffff"
}
temp.style.background="#ffff00"
}
//-->
</SCRIPT><TABLE border=1 width=100 id=a>
<SCRIPT LANGUAGE="JavaScript">
<!--
for(j=1;j<4;j++){
document.write("<TR onclick=ChangeColor(this)><TD>"+j+"</TD></TR>");
}
//-->
</SCRIPT>
</TABLE>

解决方案 »

  1.   

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
    "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=shift_jis">
    <title>Untitled Document</title>
    </head><body>
    <table id="mytable" width="800" border="1">   
      <tr onclick=aa()>
      <td>sdgfdsgds</td>
      </tr>   
      <tr onclick=aa()>
      <td>sdg</td>
      </tr>   
      <tr onclick=aa()>
      <td>gfds</td>
      </tr>
      <tr onclick=aa()>
      <td>sdgf</td>
      </tr> 
    </table>   
        
      <script>   
      var obj = null;   
      function aa(){   
      var e=window.event.srcElement;   
       e=e.parentElement;   
      if(e.tagName!="TR")return;   
      if(obj!=null)obj.runtimeStyle.backgroundColor=""   
      obj=e;
      obj.runtimeStyle.backgroundColor="#FFE28C";   
      }   
      </script> 
    </body>
    </html>
      

  2.   

    上面的兄弟if(e.tagName!="TR")return;  为什么要加这一行呢,去掉也可以,请解释一下
      

  3.   

    我把这个兄弟的改了一个在网页的head标签里面加上样式表
    <style type="text/css">
    #table1 tr {thiscolor:expression(onclick=function(){changeColor()})}
    </style>
    再加上我改了上面的兄弟的代码如下
    <script language="javascript">var obj=null;
    function changeColor()
    {
       
       var e=window.event.srcElement;
       e=e.parentElement;
       if(obj!=null) obj.style.backgroundColor=""
       
       obj=e;
       obj.style.backgroundColor="red";
       
    }
    </script>这样可以避免每一个tr标签都要加那个onclick事件
      

  4.   

    哦忘记说了#table1是我的表格的id,#table tr就是说我只对table1里面的tr进行设置