老朋友object.style.attr
平常我们都是使用object.style.attr的方式来获取元素的属性,
但是这种方法具有很大的局限性——只能获取内联样式,
而下面的两种方法可以获取到元素的真实样式属性值,不管是不是内联样式
Window.getComputedStyle(element[, pseudoElt])
参数element:指定元素;pseudoElt:可选,所匹配的伪元素
该方法是获取元素的所有样式,并以对象的形式返回,
我们可以采用三种方式获取我们所需要的样式,具体看下面的例子
而对于有"-"字符的属性名,三种方式的表现如下
总结起来就是
border-top |
borderTop |
|
getPropertyValue(“Attr”) |
Yes |
No |
[“Attr”] |
Yes |
Yes |
.Attr |
No |
Yes |
兼容性:
根据MDN上面的描述,现在大部分的浏览器都已经支持这个方法了,
需要注意的一点是这个方法还有另外一种写法
document.defaultView.getComputedStyle
两者用法完全一样,但是在FireFox 3.6中必须采用这种写法,否则会报错
独宠IE的Element.currentStyle
(由于没有IE6的环境- -MDN上面的描述也不够清晰,所以我就直接拿一些大牛总结里面的东西来用了....)
Element.currentStyle返回的是Element元素的所有样式,
并以对象的形式返回(和getComputedStyle相似),
而我们获取我们想要的属性值的时候我们可以用键值,属性的方式取值外,还可以用getAttribute(驼峰表示法的属性名)
最后post一张图
注意 :currentStyle和getComputedStyle返回的属性值是 带单位的 。
参考博客: https://www.cnblogs.com/coco1s/p/5210667.html
#本文有写的不好或不对的地方还请各位指出,一起学习!#