【问题标题】:table elements not showing in IEIE中不显示表格元素
【发布时间】:2016-04-12 10:10:11
【问题描述】:

我是 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 的正文与居中对齐)。

这是怎么回事?

【问题讨论】:

  • 我花时间在 IE11 中对其进行了测试,它对我来说非常好

标签: javascript


【解决方案1】:

我相信您的问题是您的表中没有<tbody>。有关详细说明,请参阅此类似帖子:

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

【讨论】:

  • 可能是问题所在,我不知道,但&lt;tbody&gt; 元素不需要,除非theadtfoot 也存在,所以@根据规范不需要987654326@,
  • 是的,根据规范,它不是必需的,但是 IE 从什么时候开始真正遵循规范? :)
猜你喜欢
  • 2014-10-06
  • 2019-01-24
  • 1970-01-01
  • 1970-01-01
  • 2015-08-15
  • 2012-11-03
  • 2014-02-02
  • 2012-11-26
  • 1970-01-01
相关资源
最近更新 更多