怎样根据 <td   id='aa'> 来获得它所在的 <table   >   id   ?? 
    用   aa.parentelemet.parentelemet 不行获取不了。

解决方案 »

  1.   

    <html><head>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
    <title>新建网页 1</title>
    </head><body>
    <script>
    //方法1
    function getTableId()
    {
    var cell = document.getElementById("aa");
    var table = find(cell);
    if(table!=null && table.id)
    {
    alert(table.id);
    }
    }
    function find(obj)
    {
    if(obj.tagName=="TABLE")
    {
    return obj;
    }
    else if(obj.tagName=="BODY")
    {
    return null;
    }
    else
    {
    return find(obj.parentElement);
    }
    }
    //方法2
    function getTableId_1()
    {
    var cell =document.getElementById("aa");
    var table = cell.parentElement.parentElement.parentElement;
    if(table!=null && table.id)
    {
    alert(table.id);
    }
    }
    </script>
    <table border="1" width="100%" id="table1">
    <tr>
    <td id="aa"> </td>
    <td> </td>
    </tr>
    <tr>
    <td> </td>
    <td> </td>
    </tr>
    </table>
    <input type="button" value="取得表格ID" onclick="getTableId()">
    <input type="button" value="取得表格ID" onclick="getTableId_1()">
    </body></html>
      

  2.   

    while(aa.tagName!="TABLE"){
    aa=aa.parentNode;
    }
      

  3.   


    <table id="table">
    <tr>
    <td id='aa'>
    </tr>
    </table>
    <script>
    var td = document.getElementById('aa');
    alert(td.id);
    alert(td.parentNode.parentNode.parentNode.id);
    </script>
    这才是table的真正结构,记住了。
    <table>
    <tbody>
    <tr>
    <td>
    </td>
    </tr>
    </tbody>
    </table>
      

  4.   

    自动寻找table根id,无论你几层嵌套,帅帅宝宝的作品必定全部代码,请不要吝啬分数,谢谢!
    <html> 
    <head> 
    <meta   http-equiv="Content-Type"   content="text/html;   charset=gb2312"> 
    <title> 新建网页   1 </title> 
    </head> 
    <body> 
    <script> 
    function   getTableId() 
    {
        var x = "document.getElementById(" + "'aa'" + ")";
        var b = document.getElementById("aa");
        while(b.tagName != "TABLE"){
        var x = x + ".parentNode";
        b = eval(x);
        }
    alert(b.id);
    }</script> 
    <table   border="1"   width="100%"   id="table1"> 
    <tr> 
    <td   id="aa">   </td> 
    <td>   </td> 
    </tr> 
    <tr> 
    <td>   </td> 
    <td>   </td> 
    </tr> 
    </table> 
    <input   type="button"   value="取得表格ID"   onclick="getTableId()"> 
    </body> 
    </html> 
      

  5.   

    帅帅的宝宝更新版,功能更强大
    <html> 
    <head> 
    <meta   http-equiv="Content-Type"   content="text/html;   charset=gb2312"> 
    <title> 新建网页   1 </title> 
    </head> 
    <body> 
    <script> 
    function   getTableId(elementid) 
    {
        var idstring = "document.getElementById('" + elementid + "')";
        var idelement = document.getElementById(elementid);
        while(idelement.tagName != "TABLE"){
            var idstring = idstring + ".parentNode";
            idelement = eval(idstring);
        }
    alert(idelement.id);
    }</script> 
    <table   border="1"   width="100%"   id="table1"> 
    <tr> 
    <td   id="aa">   </td> 
    <td>   </td> 
    </tr> 
    <tr> 
    <td>   </td> 
    <td>   </td> 
    </tr> 
    </table> 
    <input   type="button"   value="取得表格ID"   onclick="getTableId(aa.id)"> 
    </body> 
    </html> 
      

  6.   

    无论你嵌套几个TD,无论是否有规律,只要指定你td,tr,th或tbody的id,把getTableId(elementid)中elementid改成你指定元素的id.id
    例:<td id="sdds"></td>   只需:onclick="getTableId(sdds.id)",简单吧
      

  7.   

    tdObj.offsetParenet可以一步得到table