标签:
我们使用 element.style 也可以获取元素的CSS样式声明对象,但是其与 getComputedStyle 方法还是有一些差异的。
首先,element.style 是可读可写的,而 getComputedStyle 为只读。
其次,element.style 只可以获取 style 样式上的属性值,而无法得到所有的 CSS 样式值,什么意思呢?回顾一下 CSS 基础,CSS 样式表的表现有三种方式,
而 element.style 只能获取被这些样式表定义了的样式,而 getComputedStyle 能获取到所有样式的值(在不同浏览器结果不一样)
为方便查看,记下。
function getStyle(obj, attr){ if(window.getComputedStyle){ return getComputedStyle(obj, false)[attr]; } else{ return obj.currentStyle[attr]; //兼容IE6、7、8 } }
PS:如果使用offsetHeight:
div.offsetHeight = width + 2倍的内边距 + 2倍的边框
var iDiv = document.getElementById(‘div‘); iDiv.style.height = parseInt(getStyle(iDiv,"height")) + 10 + ‘px‘;
getStyle(); //获取div的高度 如:100px
使用parseInt()去掉字符获取数值,然后赋值给height以改变div的高度。
标签:
原文地址:http://www.cnblogs.com/zapple/p/5854250.html