<table id="xx" width="400" border="0" cellspacing="1" cellpadding="3">
  <tr>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
  </tr>
  <tr>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
  </tr>
  <tr>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
  </tr>
  <tr>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
  </tr>
</table>
<script language="JavaScript" type="text/javascript">
window.onload = function(){
  var trs = document.getElementById("xx").getElementsByTagName("tr");
  for (var i = 0; i < trs.length; i++){
    trs[i].onclick = _click;
  }
  function _click(){
    return this;
  }
}
</script>

解决方案 »

  1.   

    可以这样来做测试<table id="xx" width="400" border="1" cellspacing="1" cellpadding="3">
      <tr>
        <td>&nbsp;</td>
        <td>&nbsp;</td>
        <td>&nbsp;</td>
        <td>&nbsp;</td>
      </tr>
      <tr>
        <td>&nbsp;</td>
        <td>&nbsp;</td>
        <td>&nbsp;</td>
        <td>&nbsp;</td>
      </tr>
      <tr>
        <td>&nbsp;</td>
        <td>&nbsp;</td>
        <td>&nbsp;</td>
        <td>&nbsp;</td>
      </tr>
      <tr>
        <td>&nbsp;</td>
        <td>&nbsp;</td>
        <td>&nbsp;</td>
        <td>&nbsp;</td>
      </tr>
    </table>
    <script language="JavaScript" type="text/javascript">
    window.onload = function(){
      var trs = document.getElementById("xx").getElementsByTagName("tr");
      for (var i = 0; i < trs.length; i++){
        trs[i].onclick = _click;
      }
      function _click(){
        alert(this.innerHTML);
        //return this;
      }
    }
    </script>
      

  2.   

    列没有element,这个只能得到该列中每一行中的元素的集合。
      

  3.   

    <table id="xx" width="400" border="1" cellspacing="1" cellpadding="3">
      <tr>
        <td>&nbsp;</td>
        <td>&nbsp;</td>
        <td>&nbsp;</td>
        <td>&nbsp;</td>
      </tr>
      <tr>
        <td>&nbsp;</td>
        <td>&nbsp;</td>
        <td>&nbsp;</td>
        <td>&nbsp;</td>
      </tr>
      <tr>
        <td>&nbsp;</td>
        <td>&nbsp;</td>
        <td>&nbsp;</td>
        <td>&nbsp;</td>
      </tr>
      <tr>
        <td>&nbsp;</td>
        <td>&nbsp;</td>
        <td>&nbsp;</td>
        <td>&nbsp;</td>
      </tr>
    </table>
    <script language="JavaScript" type="text/javascript">
    document.onclick=function(){
    if(event.srcElement.tagName=="TD"){
    //alert('ok');
    //alert(event.srcElement.parentElement.tagName);
    objTr=event.srcElement.parentElement;
    tdArray = objTr.getElementsByTagName("td");
    for(var i=0;i<tdArray.length;i++){
    tdArray[i].style.backgroundColor='skyblue';
    }
    }
    }
    </script>
      

  4.   

    我的意思不是吧代码写在行上,是类似这样的
    <TD><href="javascript:f()"></TD>
    代码写在f函数中,取得他所在的列
      

  5.   


    <table id="xx" width="400" border="1" cellspacing="1" cellpadding="3">
      <tr>
        <th>列一</th>
        <th>列二</th>
        <th>列三</th>
        <th>列四</th>
      </tr>
      <tr>
        <td>11</td>
        <td>21</td>
        <td>31</td>
        <td>41</td>
      </tr>
      <tr>
        <td>12</td>
        <td>22</td>
        <td>32</td>
        <td>42</td>
      </tr>
      <tr>
        <td>13</td>
        <td>23</td>
        <td>33</td>
        <td>43</td>
      </tr>
    </table>
    <script language="javascript">
    document.onclick=function()
    {
    var tbl=document.getElementById("xx");
    var obj=event.srcElement;
    var idx=0;
    var colValue="";
    if(obj.parentNode.tagName=="TR")
    {
    idx=obj.cellIndex;
    }
    for(i=0;i<tbl.rows.length;i++)
    {
    colValue+=tbl.rows[i].cells[idx].innerText+";";
    }
    alert(colValue);
    }
    </script>
      

  6.   

    取得所在的列,用cellIndx属性。
      

  7.   

    <table id="xx" width="400" border="1" cellspacing="1" cellpadding="3">
      <tr>
        <th>列一</th>
        <th>列二</th>
        <th>列三</th>
        <th>列四</th>
      </tr>
      <tr>
        <td>11</td>
        <td>21</td>
        <td>31</td>
        <td>41</td>
      </tr>
    </table><script language="javascript">
    document.onclick=function()
    {
    var tbl=document.getElementById("xx");
    var obj=event.srcElement;
    if(obj.parentNode.tagName=="TR")
    {
    alert("列:"+parseInt(obj.cellIndex+1));
    }
    }
    </script>
      

  8.   

    我的意思不是吧代码写在行上,是类似这样的
    <TD><href="javascript:f()"></TD>
    代码写在f函数中,取得他所在的列晕,标题表述和这个完全不同啊,
    你可以用服务器端直接写
    <%
    i=0
    %>
    <TD><href="javascript:f(<%= i%>)"></TD>
    <%
    i = i + 1
    %>或者直接
    <TD><href="javascript:f(this)"></TD>
    用DOM取得此行的index。不必那么麻烦。
      

  9.   

    <script>
      function f()
      {
      alert("列四");
      }
    </script>
    <table id="xx" width="400" border="1" cellspacing="1" cellpadding="3">
      <tr>
        <th onclick="alert('列一');">列一</th>
        <th onclick="alert('列二');">列二</th>
        <th onclick="alert('列三');">列三</th>
        <th onclick="f()">列四</th>
      </tr>
      <tr>
        <td>11</td>
        <td>21</td>
        <td>31</td>
        <td>41</td>
      </tr>
      <tr>
        <td>12</td>
        <td>22</td>
        <td>32</td>
        <td>42</td>
      </tr>
      <tr>
        <td>13</td>
        <td>23</td>
        <td>33</td>
        <td >43</td>
      </tr>
    </table>