(转)IE/FireFox/Opera js:table.insertRow的区别

浏览器兼容真麻烦!得好好学习,W3C规范得看看

 

ie,firefox以及其它浏览器对于 table 标签的操作都各不相同,在ie中不允许对table和tr的innerHTML赋值,使用js增加一个tr时,使用appendChile方法也不管用。下面是我就三种浏览器测试的结果:

 
                         ie6                             firefox                          opera   
--------------------------------------------------------------------------------
insertRow        支持,而且                  支持,                          支持,
                        默认参数-1                但不支持默认参数          支持默认参数0
                        默认添加到最后                                               默认添加到最前
--------------------------------------------------------------------------------
appendChild     不支持                       支持,但是增加             支持,效果同insertRow(-1)
                                                           tr后不影响rows               影响rows

最大限度的遵循规范,就能写出安全的、适用性强的代码了:

//向table追加一个空行:
var otr = otable.insertRow(-1);
var otd = document.createElement("td");
otd.innerHTML = " "; 
otd.className = "XXXX"; 
otr.appendChild(otd);

这样就可以运行在这三种浏览器上了

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值