充分使用 this 这个关键字:<table border=1 width=200>
  <tr>
    <td id="aa" onclick="return fun(this)">abc</td>
    <td id="aa" onclick="return fun(this)">def</td>
  <tr>
</table>
<SCRIPT LANGUAGE="JavaScript"><!--
function fun(e)
{
  alert(e.sourceIndex);
}
//--></SCRIPT>

解决方案 »

  1.   

    <table>
      <tr>
        <td id="aa" onclick="fun(this)">abc</td>
        <td id="aa" onclick="fun(this)">def</td>
      <tr>
    </table>
    <script language="javascript">
    function fun(obj)
    {
    var elem=document.all;
    var j=0;
    for (var i=0;i<elem.length;i++)
    {

    if (elem[i].id==obj.id)
    {
    j++;
    if (elem[i].id==obj.id&&elem[i].innerText==obj.innerText)
    alert(j);
    }
    }
          }
           </script>
      

  2.   

    充分使用 this 这个关键字:<table border=1 width=200>
      <tr>
        <td id="aa" onclick="return fun(this)">abc</td>
        <td id="aa" onclick="return fun(this)">def</td>
      <tr>
    </table>
    <SCRIPT LANGUAGE="JavaScript"><!--
    function fun(e)
    {
      alert(e.sourceIndex); //HTML源的索引号
      var a = document.all;
      var n = 0;
      for(var i=0; i<a.length; i++)
      {
        if(a[i].id == e.id)
        {
          n++;
          if(a[i] == e)
          {
            alert("你是点击了第 "+ n +" 个id = "+ e.id +" 的控件!");
            return;
          }
        }
      }
    }
    //--></SCRIPT>楼上的那位兄弟, 别站着说话不腰疼, 说原理谁不懂呀, 麻烦你不要口高手懒!!
      

  3.   

    td是动态生成的,其innerText可能也会相同啊