使用DOM动态改变页面外观----读取和设定元素属性

border="0" src="http://forum.booye.com/byhtm/1.html" frameborder="0" width="470" height="60">
        在交互性较强的Web应用中,经常需要动态更改指定元素的属性值,假设变量obj是页面中一个元素的引用,根据W3C DOM标准,可以在JavaScript中使用obj.getAttribute('name)来取得属性的值,并且用obj.setAttribute('name', 'value')来设置属性值。网页标签中,class是一个常用的属性,用于指定某一个元素遵从一个或多个自定义样式,由于class属于JavaScript保留值,因此当我们要操作元素的class属性值时,直接使用obj.getAttribute('class')和obj.setAttribute('class', 'value')可能会遭遇浏览器兼容性问题。

  W3C DOM标准为每个节点提供了一个可读写的属性(border,width等),作为节点class属性的映射,标准浏览器的都提供了这一属性的支持,因此,可以使用obj.className访问元素的class属性值,也可对该属性进行重新斌值。而IE和Opera中也可使用obj.getAttribute('className')和obj.setAttribute('className', 'value')访问及修改class属性值。相比之下,obj.className是W3C DOM标准,仍然是兼容性最强的解决办法。

  以下列表说明了上文提及的三种做法的浏览器兼容性测试:
  • obj.className 能在IE、Mozilla(Firefox)、Opera和Safari正确运行
  • obj.getAttribute('class')和obj.setAttribute('class', 'value') 能在Mozilla(Firefox)和Opera中正确运行,在IE和Safari中则不能使用。
  • obj.getAttribute('className') 和obj.setAttribute('className', 'value') 在IE和Opera中正确运行,在Mozilla(Firefox)和Safari中则不能使用。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值