<table border=1 width=200 align=center id=tab1> 
<tr>
<td id=k1 >aa</td>
</tr>
<tr>
<td id=k2 >bb</td>
</tr>
<tr>
<td id=k3 >cc</td>
</tr>
<tr>
<td id=k4 >dd</td>
</tr>
</table><script>
var arrTD=document.getElementsByTagName("td");
for(var i=0;i<arrTD.length;i++) arrTD[i].attachEvent("onclick",fClick); function fClick()
{
var id=event.srcElement.id;
for(var i=0;i<arrTD.length;i++)
{
arrTD[i].bgColor=(arrTD[i].id==id?"#ff0000":"#ffffff");

}
}
</script>

解决方案 »

  1.   


    <html>
    <head>
    <script Language="Javascript">
    var y=0;
    function show(x)
    {
    if(x!=y)
    {
    document.all.tags("td").bgcolor="white";//折行使用的不是标准的w3c函数,FF是不会认可的
    this.bgColor="red";//在这里真的能使用this么?发现是错误的……
    }
    y=x;
    }
    </script>
    </head>
    <body>
    <table border=1 width=200 align=center id=tab1>
    <tr>
    <td id=k1 onclick="show(1)">aa</td>
    </tr>
    <tr>
    <td id=k2 onclick="show(2)">bb</td>
    </tr>
    <tr>
    <td id=k3 onclick="show(3)">cc</td>
    </tr>
    <tr>
    <td id=k4 onclick="show(4)">dd</td>
    </tr></body>
      

  2.   

    <html>
    <head>
    <script Language="Javascript">
    var y=0;
    function show()
    {
      var tab1 = document.getElementById("tab1");
      var tds = tab1.getElementsByTagName("td");
      
      if(tds){
        for(var i = 0;i<tds.length;i++){
          tds[i].bgcolor = "while";
        }
      }
      this.bgcolor = "black";
    }window.onload = function(){
      var tab1 = document.getElementById("tab1");
      if(tab1){
        var tds = tab1.getElementsByTagName("td");
        
        for(var i=0;i<tds.length;i++){
           tds[i].onclick = show;
        }
      }
    }
    </script>
    </head>
    <body>
    <table border=1 width=200 align=center id=tab1>
    <tr>
    <td id=k1>aa</td>
    </tr>
    <tr>
    <td id=k2>bb</td>
    </tr></body>
      

  3.   

    CutBug(外面的世界很无奈)的代码可以在IE中正常运行,但是在FF中是没有棒法运行的,错误如下:错误: arrTD[i].attachEvent is not a function
    源文件:file:///C:/1.html
    行:36在这里,FF不认为arrTD[i]是一个函数,这个可能是对像的声明错误造成的,我试图重新声明,但是,没有成功。请高手帮忙处理一下
      

  4.   

    wuxing2006() ( 一级(初级)) 的代码是运行不成功的!不管是IE还是FF!
      

  5.   

    <html>
    <head>
    <script Language="Javascript">
    var y=0;
    function show()
    {
      var tab1 = document.getElementById("tab1");
      var tds = tab1.getElementsByTagName("td");
      
      if(tds){
        for(var i = 0;i<tds.length;i++){
          tds[i].bgColor = "#FFFFFF";
        }
      }
      this.bgColor = "black";  
    }window.onload = function(){
      var tab1 = document.getElementById("tab1");
      if(tab1){
        var tds = tab1.getElementsByTagName("td");
        
        for(var i=0;i<tds.length;i++){
           tds[i].onclick = show;
        }
      }
    }
    </script>
    </head>
    <body>
    <table border=1 width=200 align=center id=tab1>
    <tr>
    <td id=k1>aa</td>
    </tr>
    <tr>
    <td id=k2>bb</td>
    </tr></table></body>
    </html>
    狂汗 你自己写的有问题 我在你上面改的 完全误导 以修正
      

  6.   

    非常感谢cutbug,li1229363,wuxing2006三位,谢谢你们的帮助!
      

  7.   

    这样FF和IE应该可以通用:<table border=1 width=200 align=center id=tab1> 
    <tr>
    <td id=k1 >aa</td>
    </tr>
    <tr>
    <td id=k2 >bb</td>
    </tr>
    <tr>
    <td id=k3 >cc</td>
    </tr>
    <tr>
    <td id=k4 >dd</td>
    </tr>
    </table><script>
    var arrTD=document.getElementsByTagName("td");
    for(var i=0;i<arrTD.length;i++) arrTD.item(i).attachEvent("onclick",fClick); function fClick()
    {
    var id=event.srcElement.id;
    for(var i=0;i<arrTD.length;i++)
    {
    arrTD.item(i).bgColor=(arrTD.item(i).id==id?"#ff0000":"#ffffff");

    }
    }
    </script>
      

  8.   

    attachEvent 好像 FF 不支持 瞎说的 不知道对不对
      

  9.   

    Firefox 主要使用 DOM 2 的 obj.addEventListener()