利用Javascript向页面中插入TABLE,IE下无法正常显示

利用Javascript向页面中插入TABLE,IE下无法正常显示

关键字: table, appendchild, ie, firefox

在项目中偶然遇到一个怪异的问题,我要利用javascript动态的向一个DIV中插入一些个TABLE,Firefox可以正常显示,而在IE下,无论版本是6或7,均无法看到这个TABLE。但是,如果我直接把TABLE的HTML代码写在页面上,一切都能正常显示。

 

最开始出问题的javascript脚本如下:

 

Js代码 复制代码
  1. var div = document.getElementById("container");       
  2. var table = document.createElement("table");       
  3. div.appendChild(table);       
  4. var tr = document.createElement("tr");       
  5. table.appendChild(tr);       
  6. var td = document.createElement("td");       
  7. tr.appendChild(td);     
 

乍一看,代码比较干净,为什么在IE下就无法显示呢?其实,问题就出在IE的遍历页面中JS构造的DOM元素的时候,是一个按DOM树结构寻址的。如果漏掉了TABLE的TBODY元素,IE是无法显示这个TABLE的,中间加入一个TBODY元素,问题轻松解决!

Js代码 复制代码
  1. var div = document.getElementById("container");       
  2. var table = document.createElement("table");       
  3. div.appendChild(table);       
  4. var body = document.createElement("tbody");       
  5. table.appendChild(body);       
  6. var tr = document.createElement("tr");       
  7. body.appendChild(tr);       
  8. var td = document.createElement("td");       
  9. tr.appendChild(td);     
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值