六狼论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 53|回复: 0

动态生成table在IE下的bug

[复制链接]

升级  64%

6

主题

6

主题

6

主题

童生

Rank: 1

积分
32
 楼主| 发表于 2013-1-15 03:09:56 | 显示全部楼层 |阅读模式
在使用js为页面动态生成table的时候,发现一个很奇怪的现象。
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?
您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

本版积分规则

快速回复 返回顶部 返回列表