您好,欢迎访问一九零五行业门户网

getComputedStyle与currentStyle获取样式(style/class)_javascript技巧

大家都知道,用document.getelementbyid(‘element').style.xxx可以获取元素的样式信息,可是它获取的只是dom元素style属性里的样式规则,对于通过class属性引用的外部样式表,就拿不到我们要的信息了。
dom标准里有个全局方法getcomputedstyle,可以获取到当前对象样式规则信息,如:getcomputedstyle(obj,null).paddingleft,就能获取到对象的左内边距。但是事情还没完,万恶的ie不支持此方法,它有自己的一个实现方式,那就是currentstyle,不同于全局方法getcomputedstyle,它是作为dom元素属性存在的,如:obj.currentstyle.paddingleft,在ie中就获取到对象的左内边距了,兼容性的写法如下:
复制代码 代码如下:
return window.getcomputedstyle ? window.getcomputedstyle(obj,null).paddingleft : obj.currentstyle.paddingleft;
这样,就能在ie及ff中返回对象的当前样式信息了。
特别注意一点:如果要获取当前对象的颜色信息,ie返回的是16进制的'#ffffff',而ff返回的是rgb(255,255,255)
用js的style属性可以获得html标签的样式,但是不能获取非行间样式。那么怎么用js获取css的非行间样式呢?在ie下可以用currentstyle,而在火狐下面我们需要用到getcomputedstyle。下面是一个小示例:
复制代码 代码如下:
js用currentstyle和getcomputedstyle获取css样式
其它类似信息

推荐信息