style/currentStyle/getComputedStyle三者的区别的记录

1、style:获取元素的内联样式,内部样式和外部样式使用style是获取不到的。
 
2、currentStyle:获取对象的css样式集合,可以弥补style的不足,但是只适用于IE
  注意:只有 IE 和 Opera 支持使用 currentStyle 获取 HTMLElement 的计算后的样式,其他浏览器中不支持。
  标准浏览器中使用getComputedStyle,IE9也支持getComputedStyle。
 
3、getComputedStyle:获取对象的css样式集合同currentStyle作用相同,但是适用于FF、opera、safari、chrome。  
  参数说明:
  第一个参数为要获取计算后的样式的目标元素
  第二个参数为期望的伪元素,如 ':after',':first-letter' 等,而不是伪类如 ':hover' 等。
  注意:在 Firefox 中,第二个参数是必须的,如果没有期望的伪元素要设置为 'null',这与规范的要求相符。在 Chrome Safari Opera 中,第二个参数如果为 'null' 则可以省略。
  
  注意:
  currentStyle和getComputedStyle只能用于获取页面元素的样式,不能用来设置相关值。  
  如果要设置相应值,应使用style
 
4、自定义获得style的函数:
  
  getElementStyle: function(el,attr){
    //获取el当前的attr样式,解决ie问题
    return el.currentStyle?el.currentStyle[attr]:getComputedStyle(el,null)[attr];
  }

 

posted @ 2013-04-30 05:03  香萦  阅读(172)  评论(0编辑  收藏  举报