var tr = document.getElementById("myTable").insertRow();
var td = tr.insertCell();
td.innerHTML = "中国人";上面过程比较正规,或者document.getElementById("myTable").innerHTML="<tr><td>中国人</td></tr>";
var td = tr.insertCell();
td.innerHTML = "中国人";上面过程比较正规,或者document.getElementById("myTable").innerHTML="<tr><td>中国人</td></tr>";
第二种方法也不行,如果table中已经有几个td了呢,不是会覆盖了么?
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>希望对你有帮助
如已有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>
{
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;
}
}
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;
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