我是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的主体与中心对齐)。
这里发生了什么?
答案 0 :(得分:3)
我相信您的问题是您的表格中没有<tbody>
。有关更长的解释,请参阅此类似帖子: