var tr = document.getElementById("myTable").insertRow();
var td = tr.insertCell();
td.innerHTML = "中国人";上面过程比较正规,或者document.getElementById("myTable").innerHTML="<tr><td>中国人</td></tr>";

解决方案 »

  1.   

    第一种方法不可行,因为<tr><td>中国人<td></tr>是已经存在的
    第二种方法也不行,如果table中已经有几个td了呢,不是会覆盖了么?
      

  2.   

    不知道楼主所描述的是要达到什么效果,以及是否看明白上面的代码:
     var table = document.getElementById('myTable'); //定位你要操作的table元素
     var tr = table.insertRow();//插入新的一行,html中的效果就是<tr></tr>
     var td = tr.insertCell(); //在刚插入的行中,插入一个新的cell,html中的效果就<td></td>
       td.innerHTML = "要显示的内容"; // html中的效果就是td>要显示的内容</td>希望对你有帮助
      

  3.   

    呵呵,这段代码我很清楚,可能是我没有描述清楚问题
    如已有table:
    <table width="100%" border="0" cellspacing="0" cellpadding="0" id="myTable">
    <tr><td>第一个cell</td></tr>
    </table>我想在此table的基础上再增加以下内容
    var str = "<tr><td>第二个cell</td></tr>"需要将str中的html代码附加到table中去,使变为:
    <table width="100%" border="0" cellspacing="0" cellpadding="0" id="myTable">
    <tr><td>第一个cell</td></tr>
    <tr><td>第二个cell</td></tr>"
    </table>
      

  4.   

    function addRow(tbl)
    {
              var a = tbl.insertRow();
    a.id = "a" + tbl.rows.length;
    for(var i=0; i<tbl.rows[0].cells.length; i++)
    {
                     var str = "<tr><td>第" + i+1 + "个cell</td></tr>"
    var tc = a.insertCell();
    tc.innerHTML = s;
    }
    }
      

  5.   

    就是追加行,其实上面的方法就是追加行的,
    try 
     var table = document.getElementById('myTable'); 
    var tr = table.insertRow();
    var td = tr.insertCell(); 
     td.innerHTML = "第二个cell";
    楼主的想法(var str = "<tr><td>第二个cell</td></tr>")是用一个string 来代替html代码,想用outerHTML把string 代表的html代码加到table中去,不建议这么写.
     这么做也能实现,但你定义的那个str 不对,你把<tr>也包含在里面了.innerHTML ,outerHTML替换的是某个指定节点的内容.你把<tr>包含了,就意味着你只能替换table节点下面的内容了.因为只有table 才包含<tr>,这样当然也就把你本来有的<tr>也替换了.也就是说.替换以后,table 节点下面有且仅有你的str 代表的HTML代码了.
    try
    var str = "><td>第二个cell</td>";
    var table = document.getElementById('myTable'); 
    var tr = table.insertRow();
        tr.outerHTML=str;
      

  6.   

    outerHTML方法好像实现不了,报错
      

  7.   

    outerHTML方法在table中好像是只读的吧
      

  8.   

    var table = document.getElementById('myTable');
    var tr = table.rows[0].outerHTML;
    table.outerHTML = table.outerHTML.replace(tr,tr+str);楼主有没有alert(table.innerHTML),IE自动会有tbody,用 table.tbodies[0].innerHTML += str;应该也可以
    但是没有把握是否一定会产生这个tbody