表元素未在IE中显示

时间:2016-01-07 20:55:41

标签: javascript

我是Javascript的新手,我遇到了一个奇怪的问题。 Javascript生成的表元素在IE中不起作用,但它们在我尝试过的每个其他浏览器中都运行良好。我设法将问题隔离到在JS中添加子元素:

var table = document.createElement("table");
var tabler = document.createElement("tr");
var tab = document.createElement("td");
var node = document.createTextNode('test');
textdiv.appendChild(table);
table.appendChild(tabler);
tabler.appendChild(tab);
tab.appendChild(node);

上面创建了一个在chrome中正确显示单个文本元素的表,但在IE中它完全是空白的。

我做了一些实验,发现这段代码:

var table = document.createElement("table");
var tabler = document.createElement("tr");
var tab = document.createElement("td");
var node = document.createTextNode('test');
textdiv.appendChild(table.appendChild(tabler.appendChild(tab.appendChild(node))));

可以在IE和Chrome中使用,但是表格被格式化为与中心对齐,而第一个代码将其对齐到左侧(css的主体与中心对齐)。

这里发生了什么?

1 个答案:

答案 0 :(得分:3)

我相信您的问题是您的表格中没有<tbody>。有关更长的解释,请参阅此类似帖子:

Can't dynamically add rows to a <TABLE> in IE?