代码如下:
var t=document.getElementById("t");
var b=document.createElement("tbody");
var ti=document.createElement("tr");
ti.innerHTML="<td>一</td><td>二</td><td>三</td><td>四</td><td>五</td>";
b.appendChild(ti);
t.appendChild(b);在Chrome,FF中,td是五个,文字分别在五个td中。
但是在IE8下,td是一个,文字都显示在一个td中。难道是创建td元素,再挂接元素么。 为什么写到innerHTML中没有效果呢?
var t=document.getElementById("t");
var b=document.createElement("tbody");
var ti=document.createElement("tr");
ti.innerHTML="<td>一</td><td>二</td><td>三</td><td>四</td><td>五</td>";
b.appendChild(ti);
t.appendChild(b);在Chrome,FF中,td是五个,文字分别在五个td中。
但是在IE8下,td是一个,文字都显示在一个td中。难道是创建td元素,再挂接元素么。 为什么写到innerHTML中没有效果呢?
整个table都用innerHTML呢。IE有些地方有BUG的,select也会这样
如果ti.innerHTML="<td>一</td><td>二</td><td>三</td><td>四</td><td>五</td>";
放到最后那就是五个
$("#t").html( "<td>一</td><td>二</td><td>三</td><td>四</td><td>五</td>" );兼容性极好, 没有任何的IE/FF的兼容性问题.
我看你代码
var t=document.getElementById("t");
是获取表格元素吧?
然后你创建了tbody和tr,
然后再append进去?
为什么不直接
var html = "<tbody><tr><td></td></tr></tbody>";
t.innerHTML = html;
html里面的td也是能动态添加的啊