取非行间样式

IE获取非行间样式:currentStyle

chrome、FireFox获取非行间样式:getComputedStyle  getComputedStyle带两个参数,第一个是对象名,第二个随便填都行,一般写false。getComputedStyle(oDiv,false)

 

获取非行间样式代码:

 1 if(oDiv.currentStyle){

 2 

 3   alert(oDiv.currentStyle.width);  //IE

 4 

 5 }

 6 

 7 else{

 8 

 9   alert(getComputdeStyle(oDiv,false).width);  //FF

10 

11 }

 

取样式在项目中会经常用到,如果每次都要用if else来写会很麻烦,所以可以把取样式的代码封装起来,要用的时候只要调用就可以。

 1 fuction getStyle(obj,name){

 2 

 3   if(obj.currentStyle){

 4 

 5     return obj.currentStyle[name];

 6   }

 7 

 8   else{

 9 

10     return getComputedStyle(obj,false)[name];

11   }

调用 getStyle(oDiv,width)

 

复合样式:指本身由很多项组成的,如background 有background-image background-color。

currentStyle和getComputedStyle获取非行间样式只能获取单一样式不能获取复合样式。所以要获取背景颜色就要用background-color。

你可能感兴趣的:(样式)