用javascript getComputedStyle获取和设置style的原理

 更新时间:2008年10月10日 21:55:12   作者:  
这两天用了baidu 百度空间中的弹出窗口js,感觉不错,很强大,很好很简单的解决了好几个问题,界面友好度以及美化也好多了,以前都是硬邦邦window.open();
有兴趣的朋友搜索"百度 popup"就好了,已经有人给出了注释,强大。
最有意思的是用javascript获取和设置style

DOM标准引入了覆盖样式表的概念,当我们用document.getElementById("id").style.backgroundColor 获取样式时 获取的只是id中style属性中设置的背景色,如果id中的style属性中没有设置background-color那么就会返回空,也就是说如果id用class属性引用了一个外部样式表,在这个外部样式表中设置的背景色,那么不好意思document.getElementById("id").style.backgroundColor 这种写法不好使,如果要获取外部样式表中的设置,需要用到window对象的getComputedStyle()方法,代码这样写window.getComputedStyle(id,null).backgroundColor
但是兼容问题又来了,这么写在firefox中好使,但在IE中不好使
两者兼容的方式写成
window.getComputedStyle?window.getComputedStyle(id,null).backgroundColor:id.currentStyle["backgroundColor"];
如果是获取背景色,这种方法在firefox和IE中的返回值还是不一样的,IE中是返回"#ffff99"样子的,而firefox中返回"rgb(238, 44, 34) "
值得注意的是:window.getComputedStyle(id,null)这种方式不能设置样式,只能获取,要设置还得写成类似这样id.style.background="#EE2C21";

相关文章

  • JavaScript解决浮点数计算不准确问题的方法分析

    JavaScript解决浮点数计算不准确问题的方法分析

    这篇文章主要介绍了JavaScript解决浮点数计算不准确问题的方法,结合实例形式分析了javascript浮点数运算精度误差的原因以及相关的解决方法与具体操作技巧,需要的朋友可以参考下
    2018-07-07
  • JavaScript中常见加密解密方法总结

    JavaScript中常见加密解密方法总结

    这篇文章主要为大家详细介绍了JavaScript中常见加密解密方法的实现,文中的示例代码讲解详细,具有一定的学习价值,感兴趣的小伙伴可以了解一下
    2023-03-03
  • JavaScript函数防抖与函数节流的定义及使用详解

    JavaScript函数防抖与函数节流的定义及使用详解

    这篇文章主要为大家详细介绍一下JavaScript中函数防抖与函数节流的定义及使用,文中的示例代码讲解详细,对我们学习JS有一定帮助,需要的可以参考一下
    2022-08-08
  • js中this用法实例详解

    js中this用法实例详解

    这篇文章主要介绍了js中this用法,实例分析了this指向windows、指向对象及改变this指向的相关技巧,需要的朋友可以参考下
    2015-05-05
  • 微信小程序嵌入腾讯视频源过程详解

    微信小程序嵌入腾讯视频源过程详解

    这篇文章主要介绍了微信小程序嵌入腾讯视频源过程详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-08-08
  • javascript设计模式之中介者模式学习笔记

    javascript设计模式之中介者模式学习笔记

    这篇文章主要为大家详细介绍了javascript设计模式之中介者模式学习笔记,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-02-02
  • JavaScript中自动插入分号的规则详解

    JavaScript中自动插入分号的规则详解

    JavaScript 提供了 automatic semicolon insertion (ASI)自动插入分号规则,在不加分号的情况下,会自动补充分号来分隔不同语句,下面我们就来具体了解一下这一规则吧
    2024-01-01
  • webpack -v报错解决方案

    webpack -v报错解决方案

    这篇文章主要介绍了webpack -v报错解决方案,本篇文章通过简要的案例,讲解了该项技术的了解与使用,以下就是详细内容,需要的朋友可以参考下
    2021-09-09
  • 解决layer.prompt无效的问题

    解决layer.prompt无效的问题

    今天小编就为大家分享一篇解决layer.prompt无效的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-09-09
  • js模块加载方式浅析

    js模块加载方式浅析

    这篇文章主要为大家详细介绍了js模块加载方式的初级学习资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-08-08

最新评论