动态元素属性设置中的浏览器的不兼容性

本文讨论了Web浏览器中W3CDOM和JavaScript实现存在的特异性和不兼容性问题,特别是IE浏览器中的限制及解决方案,如使用跨浏览器方法解决setAttribute方法的问题。

一、

尽管当前Web浏览器中W3C DOM和JavaScript的实现在不断改进,但还是存在一些特异性和不兼容性,这使得应用DOM和JavaScript进行开发时很是头疼。

IE的W3C DOM和JavaScript实现最受限制。2000年初,一些统计称IE占据了整个浏览器市场95%的份额,由于没有竞争压力,Microsoft决定不完全实现各个Web标准。

这些特异问题大多都能得到解决,不过这样做会让脚本更是混乱不堪而且不合标准。例如,如果使用appendChild将元素直接增加到中,则在IE中这一行并不出现,但在其他浏览器中却会显示出来。对此的解决之道是,将 元素增加到表的
元素中,这种解决办法在所有浏览器中都能正确工作。

关于setAttribute方法,IE也有麻烦。IE不能使用setAttribute正确地设置class属性。对此有一个跨浏览器的解决方法,即同时使用setAttribute("class", "new- ClassName") 和setAttribute("className","newClassName")。另外,在IE中不能使用setAttribute设置style属性。最能保证浏览器兼容的技术不是.setAttribute("style, "font-weight:bold;"),而是.style.cssText = "font- weight:bold;"。

本书中的例子会尽可能地遵循W3C DOM和JavaScript标准,不过如果必须确保大多数当前浏览器的兼容性,可能也会稍稍偏离标准。

 

二、

ie7中不支持<div>的name属性

转载于:https://www.cnblogs.com/davyjiang/articles/951208.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值