说说ie8和js

      今天在做项目的时候,发现原本在ie6,ie7下可以正常的代码,在ie8下就获取不到数据了。

 

      问题:众多checkbox在一起,不能够实现全选效果

      通过debugger跟踪js代码,发现documen.all.item()拿到的对象总为空,在网上查找资料发现,这是由于doctype导致的。

 

      解决:

      1.一个是在doctype前加一句<!-- --->
      2.将doctype注释起来或去掉。

 

      说明:在doctype前加注释语句块,可以将doctype的功能取缔,因为doctype必须位于html的第一行,放在第二行就失去了意义。

               加了doctype就不支持的原因在于document.all.item不是w3c推出的标准,因此要用document.getElementsByName()[0]代替它,以后写程序一定要用w3c的标准。

——————————————————————————————————————————————————————————————

 

      问题:在左边列表框中选中值,点击右移,右边列表框没有移动值的显示

      通过debugger跟踪js代码,发现oRight.add(oOption); 参数无效,且oOption.setAttribute("innerHTML",oRight.options[i].text); 参数无效。

 

      解决:

      1.把oRight.add(oOption); 改成oRights.options.add(oOption);

      2.将doctype注释起来或去掉。

      3.将oOption.setAttribute("innerHTML",oRight.options[i].text); 删掉

 

 

     

      此外,网页上还提供了一种解决方法,即写入:<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" />。不过其正确性我没有亲自验证。

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值