老朋友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

#本文有写的不好或不对的地方还请各位指出,一起学习!#

style.attr,currentStyle,getComputedStyle获取元素css的更多相关文章

  1. (转载)记录函数 getStyle() 获取元素 CSS 样式

    设置元素(element)的css属性值可以用element的style属性,例如要将element的背景色设置为黑色,可以这么做: element.style.backgroundColor = ' ...

  2. 转贴:获取元素CSS值之getComputedStyle方法熟悉

    获取元素CSS值之getComputedStyle方法熟悉 一.碎碎念~前言 我们都用过jQuery的CSS()方法,其底层运作就应用了getComputedStyle以及getPropertyVal ...

  3. 利用getComputedStyle方法获取元素css的属性值

    在平时的工作中有时候会碰到需要获取元素当前样式的问题,查了一下可以用getComputedStyle这个方法来获取元素计算后的样式(有些我们在css里面没有写的,浏览器默认的样式也可以获得) getC ...

  4. 获取元素CSS值之getComputedStyle方法熟悉

    by zhangxinxu from http://www.zhangxinxu.com本文地址:http://www.zhangxinxu.com/wordpress/?p=2378 一.碎碎念~前 ...

  5. getComputedStyle方法获取元素CSS值

    javascript的style属性只能获取内联样式,对于外部样式和嵌入式样式需要用currentStyle属性.但是,currentStyle在FIrefox和Chrome下不支持,需要用getCo ...

  6. JS获取元素CSS值

    一.getComputedStyle getComputedStyle 是一个可以获取当前元素所有最终使用的CSS属性值.返回的是一个CSS样式声明对象([object CSSStyleDeclara ...

  7. JS获取元素CSS值的各种方法分析

    先来看一个实例:如何获取一个没有设置大小的字体? <!DOCTYPE html> <html lang="en"> <head> <met ...

  8. 获取元素CSS样式

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  9. JavaScript获取元素CSS计算后的样式

    原文链接https://www.w3ctech.com/topic/40 我们在开发过程中,有时候需要根据元素已有样式来实现一些效果,那我们应该如何通过JavaScript来获取一个元素计算后的样式值 ...

随机推荐

  1. ESS控制台发布新功能:创建多实例规格的伸缩配置

    背景 原弹性伸缩ESS服务限定,生效的伸缩配置中只能对应一种实例规格,这样就会存在如果生效的配置中的实例规格的库存不足(高配实例规格通常更容易出现库存不足的情况)时, 用户配置好的伸缩规则以及伸缩组对 ...

  2. XtraBackup出现 Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock'

    解决办法1.建立一个软连接 ln -s /dat/data/mysql/mysql.sock /var/run/mysqld/mysqld.sock 解决办法2:指定--host=127.0.0.1

  3. 问题:android学习内容破碎,我个人关于如何学习android的一些个人经历

    android学习两个月心得 我于大三下学期,开始准备学习android,在寒假期间,学了毕向东的java视频的前10天,觉得还不错,上网找评论,他们都说,只要学到多线程就可以学习android了, ...

  4. Cookies、sessionStorage和localStorage解释及区别?

    浏览器的缓存机制提供了可以将用户数据存储在客户端上的方式,可以利用cookie,session等跟服务器端进行数据交互 一.cookie和session Cookie和 session都是用来跟踪浏览 ...

  5. 复习静态页面polo-360

    1.ps快捷键 ctrl+1 恢复到100% ctrl+0 适应屏幕大小 ctrl+r 显示标尺 辅助线的利用 矩形框--图像--裁剪:文件存储为web所用格式,注意选格式. 1个像素的平铺 雪碧图的 ...

  6. 1、Dubbo-分布式系统定义

    1.分布式基础理论 1.1).什么是分布式系统? <分布式系统原理与范型>定义: “分布式系统是若干独立计算机的集合,这些计算机对于用户来说就像单个相关系统” 分布式系统(distribu ...

  7. 转载:monkeyrunner之eclipse中运行monkeyrunner脚本之环境搭建(四)

    转载自:lynnLi 的monkeyrunner之eclipse中运行monkeyrunner脚本之环境搭建(四) monkeyrunner脚本使用Python语法编写,但它实际上是通过Jython来 ...

  8. Dubbo实践(五)扩展Spring Schema

    先回顾Dubbo实践(一)中定义的dubbo-provider.xml: <?xml version="1.0" encoding="UTF-8"?> ...

  9. Luogu_4197 Peaks

    P4197 Peaks 并不会克鲁斯卡尔重构树,于是就写了离线算法. 使用了最小生成树,启发式合并treap 在最小生成树,克鲁斯卡尔算法 时 ,将询问一块处理.便可以保证询问时边的要求.然后利用平衡 ...

  10. [LuoguP1064][Noip2006]金明的预算方案

    金明的预算方案(Link) 题目描述 现在有\(M\)个物品,每一个物品有一个钱数和重要度,并且有一个\(Q\),如果\(Q = 0\),那么该物件可以单独购买,当\(Q != 0\)时,表示若要购买 ...