js 获取非行间样式

mac2022-06-30  98

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>

 

转载于:https://www.cnblogs.com/YAN-HUA/p/9264135.html

最新回复(0)