http://www.51windows.net/hw/asp/jsview.asp?id=308

解决方案 »

  1. var the_td = get_Element(the_obj,"td");
    if(the_td==null) return;
    var the_tr = the_td.parentElement;
    var the_table = get_Element(the_td,"table");
    var i  = 0;
    clear_color();
    cur_row = the_tr.rowIndex;
    cur_col = the_td.cellIndex;
      

  2. 漏了一个
    var the_obj = event.srcElement;你在table的onclick事件中填加上面的代码
    cur_row 和cur_col 就是你要的行号和列号
      

  3. <table border=1 width=300>
    <tr><td>1</td><td onclick="mm(this)">2</td></tr>
    </table><SCRIPT LANGUAGE="JavaScript">
    function mm(e)
    {
      var td = searchObjByTagName(e, "TD");
      var tr = td.parentElement;
      alert("在第 "+ (tr.rowIndex+1) +" 行第 "+ (td.cellIndex+1) +" 列");
    }
    function searchObjByTagName(obj, tag)
    {
      while(obj!=null && typeof(obj.tagName) != "undefind")
      {
        if(obj.tagName == tag.toUpperCase()) return(obj);
        obj = obj.parentElement;
      }
      return null;
    }
    </SCRIPT>不要懒, 多看看代码对你有好处的.
      

  4. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
    <HTML>
    <HEAD>
    <TITLE> New Document </TITLE>
    <META NAME="Generator" CONTENT="EditPlus">
    <META NAME="Author" CONTENT="">
    <META NAME="Keywords" CONTENT="">
    <META NAME="Description" CONTENT="">
    </HEAD><BODY>
    <table width=100% border=1 cellspacing=0 cellpadding=2 id="powertable">
    <tr align=middle bgcolor=#ffcc00>
    <td>first name</td>
    <td>last name</td>
    <td>team</td>
    <td>engine</td>
    <td>tyres</td>
    <td>fastest lap</td>
    <td>国家</td></tr>
    <tr align=middle bgcolor=#ffcc00>
    <td>first name</td>
    <td>last name</td>
    <td>team</td>
    <td>engine</td>
    <td>tyres</td>
    <td>fastest lap</td>
    <td>国家</td></tr>
    <tr align=middle bgcolor=#ffcc00>
    <td>first name</td>
    <td>last name</td>
    <td>team</td>
    <td>engine</td>
    <td>tyres</td>
    <td>fastest lap</td>
    <td>国家</td></tr>
    </table>
    </BODY>
    </HTML>
    <script>
    function showTableRows() {
    var the_obj = event.srcElement ;
    var the_td = get_Element(the_obj,"td");
    if(the_td==null) return;
    var the_tr = the_td.parentElement;
    var the_table = get_Element(the_td,"table");
    var i  = 0;
    cur_row = the_tr.rowIndex;
    cur_col = the_td.cellIndex;
    alert("当前的行号是" + cur_row) ;
    }
    function get_Element(the_ele,the_tag){
    the_tag = the_tag.toLowerCase();
    if(the_ele.tagName.toLowerCase()==the_tag)return the_ele;
    while(the_ele=the_ele.offsetParent){
    if(the_ele.tagName.toLowerCase()==the_tag)return the_ele;
    }
    return(null);
    }
    powertable.onclick = showTableRows;
    </script>
      

  5. To: xycleo()虚竹和尚()  你怎么没把 get_Element() 函数贴出来? 没它你的代码没用呀<table border=1 width=300 onclick="mm()">
    <tr><td>1</td><td>2</td></tr>
    <tr><td>3</td><td>4</td></tr>
    <tr><td>5</td><td>6</td></tr>
    </table><SCRIPT LANGUAGE="JavaScript">
    function mm()
    {
      var e  = window.event.srcElement;
      var td = searchObjByTagName(e, "TD");
      var tr = td.parentElement;
      alert("在第 "+ (tr.rowIndex+1) +" 行第 "+ (td.cellIndex+1) +" 列");
    }
    function searchObjByTagName(obj, tag)
    {
      while(obj!=null && typeof(obj.tagName) != "undefind")
      {
        if(obj.tagName == tag.toUpperCase()) return(obj);
        obj = obj.parentElement;
      }
      return null;
    }
    </SCRIPT>
      

  6. function getCellIndexIn2Dimension(obj)
    {
    return new Array(obj.parentElement.rowIndex,obj.cellIndex);
    }
    将你的事件源作为参数传递到函数中,返回一个数组,第一个元素是行号,第二个元素是列号
      


  7. <table width="397" height="217" border="1" class=>
      <tr>
        <td onClick="getTd(this)">&nbsp;</td>
        <td  onClick="getTd(this)">&nbsp;</td>
        <td  onClick="getTd(this)">&nbsp;</td>
      </tr>
      <tr>
        <td  onClick="getTd(this)">&nbsp;</td>
        <td  onClick="getTd(this)">&nbsp;</td>
        <td  onClick="getTd(this)">&nbsp;</td>
      </tr>
      <tr>
        <td  onClick="getTd(this)">&nbsp;</td>
        <td  onClick="getTd(this)">&nbsp;</td>
        <td  onClick="getTd(this)">&nbsp;</td>
      </tr>
    </table>
    <script language="javascript">
    function getTd(td)
    {
    alert("这是第"+(td.parentElement.rowIndex+1)+"行,第"+(td.cellIndex+1)+"列");
    }
    </script>
      

  8. 多谢各位专家,我还有一点不明白
    OBJ.offsetParent到底是什么属性啊
    到MSDN上看了一下,还是不太明白
    谁给我解释一下,我马上就要结贴了
    谢谢!!!
      

类似问题 »