var tab = document.getElementById("tab")
改成
var tab = document.getElementById("tab").getElementsByTagName("tbody")[0];其它不用改~~你再想想为什么~~~

解决方案 »

  1.   

    虽然没有写明,但是table和tr之间还是存在tbody属性?楼上我使用alert(tab.childNodes[i].nodeName);发现了这个问题,于是改之就可以了.还是谢谢您的帮助-------------------------------------------------------------------------------
    <html>
    <head>
    <script language="JavaScript">
    function cc(){
    var tab = document.getElementById("tbo"); var tempElement = document.createTextNode("222");
    var tdElement = document.createElement("td");
    var trElement = document.createElement("tr"); tdElement.appendChild(tempElement);
    trElement.appendChild(tdElement);
    tab.appendChild(trElement);

    //var newTr = tab.insertRow();
    //添加列
    //var newTd = newTr.insertCell();
    //设置列内容和属性
    //newTd.innerText= '新加行'; }</script>
    </head>
    <body>

    <table border="1">
    <tbody id="tbo">
    <tr><td>111</td></tr>
    </tbody>
    </table>
    <form name="aa">
    <input type="button" name="bb" onClick="cc()" value="add"/>
    </form>
    </body>
    </html>
      

  2.   

    html文档中写道:TBODY 元素会为全部表格自动定义,就算表格没有显式定义 TBODY 元素。