2008-05-16
动态生成table在IE下的bug
在使用js为页面动态生成table的时候,发现一个很奇怪的现象。
注意上面的table.innerHTML=''这行。如果是在Firefox或者Opera下运行都没有问题,但是在IE下,会导致table的内容最终被清空。按理说,这行代码在前面,给table添加内容的代码在后面,那么最后table应该是有内容的才对。可是在IE下,似乎这行代码反而在最后才执行,导致了table的内容被清空。如果把这行代码去掉,那么一切都正常了。
当然,写上这行代码并不是说这行代码是必须的,这里只是说说在IE下的这种奇怪情况。也许,这是IE的一个Bug?
function render(os){
var table = document.getElementById('cutomers');
var tbody = document.createElement('tbody');
table.appendChild(tbody);
table = tbody;
table.innerHTML = '';
var tr = createRow(null, ['ID', '名称', '光路', '纤序'], 0);
tr.className = 'SearchHeading';
table.appendChild(tr);
for(var i=0;i<os.length;i++){
tr = createRow(os[i], ['ID', 'NAME', 'OPTICNAME', 'FIBERNO'], i);
table.appendChild(tr);
}
}
注意上面的table.innerHTML=''这行。如果是在Firefox或者Opera下运行都没有问题,但是在IE下,会导致table的内容最终被清空。按理说,这行代码在前面,给table添加内容的代码在后面,那么最后table应该是有内容的才对。可是在IE下,似乎这行代码反而在最后才执行,导致了table的内容被清空。如果把这行代码去掉,那么一切都正常了。
当然,写上这行代码并不是说这行代码是必须的,这里只是说说在IE下的这种奇怪情况。也许,这是IE的一个Bug?
发表评论
- 浏览: 16627 次
- 性别:

- 来自: 上海

- 详细资料
搜索本博客
链接
最新评论
-
apachet转发请求到tomcat ...
很老的问题了,一般实际开发都是这样做的,至少我们用的tomcat5.0.28是这 ...
-- by jhj823900 -
jBPM的Scheduler模块和Sp ...
提示个方法。。用JobExecutorServlet方法来代替你的Schedul ...
-- by gabriel80 -
spring 学习日记 - 基于 ...
ms可以这样 <bean class="org.springframewo ...
-- by sgfgh -
如何实现Spring管理下的不 ...
如果是使用CFX的前身XFire时,使用的FactoryBean是org.cod ...
-- by ununreal -
如何实现Spring管理下的不 ...
引用服务端中途断掉又连上呢?应该没有影响的吧,http无状态 我的经验是如果初始 ...
-- by Frederick






评论排行榜