js 获取非行间样式

Posted 雨筠

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js 获取非行间样式相关的知识,希望对你有一定的参考价值。

1、getComputedStyle(nodeObj,false);该方法是BOM对象,第一个是要获取样式的节点对象;第二个可以写成任何的字符一般写成false或者null,这里最好是用false因为用null IE9+会有问题;后面直接跟要获取的样式(写在方括号中)即可

var style=getComputedStyle(div,false)[‘width‘]; 

但是该方法具有兼容性,IE8以下不支持该方法

2、currentStyle[‘attr‘];

该属性返回的也是是一个对象,也是计算后的样式的属性值对的集合。比如要获取某个div宽度。那么可以直接写成 

var style=div.currentStyle[‘width‘];

 

最终可以封装为一个方法:

<script type="text/javascript">function getAttr(obj,attr){
  var style;
     if(obj.currentStyle){   //当有这个属性的时候currentStyle
    style=obj.currentStyle[attr]; //兼容IE
     }
     else{
    style=getComputedStyle(obj,false)[attr]; //主流浏览器
     }
     return style;
}

</script>

 

以上是关于js 获取非行间样式的主要内容,如果未能解决你的问题,请参考以下文章

js获取非行间样式

获取非行间样式函数及多物体动画(原生js写法)

JS--DOM

获取非行间样式

JS常见知识点

JS中兼容问题的汇总