【发布时间】:2012-09-27 03:22:21
【问题描述】:
请查看此示例:http://jsfiddle.net/lulu2792/a9LZd/
我使用 innerHTML 来设置表格行内容(包括单元格内容),我在 Firefox 和 Chrome 上运行良好。但是,它在 IE7 上有一个错误(也在 IE9 兼容模式下)。表格 HTML 结果为:
<TABLE id=table1>
<TBODY>
<TR>
<TD>
Test
</TD>
</TR>
<TR>
ABC
</TD>
</TR>
</TBODY>
</TABLE>
请关注第二行,它有一个错误。我不明白为什么 innerHTML 在 IE7 上会导致这个错误。如何解决这个问题?
我还有一个问题:如果我不在这样的表格元素中使用 tbody 标签:
var html = "<table id='table1'><tr><td>Test</td></tr></table>";
浏览器仍会呈现此标签。
请帮我回答以上两个问题。
【问题讨论】:
-
您的代码没有意义。
var s = tr.innerHTML; tr.innerHTML = s。将内部 html 设置为某些内容,将 tr 设置为自身,然后销毁所有内容以及固定字符串中的内容? -
我给出这个上下文是为了让你很容易看到这个问题。首先, tr.innerHTML 是有效的 HTML -> 我将它分配给变量 's'。在我将 's' 重新分配给 tr.innerHTML 而没有任何更改之后。显然,tr.innerHTML 发生了变化。我不知道为什么。
标签: javascript html-table