好吧,鉴于前端则个行业知识宽度广而深,早期看过高程介绍过的获取元素计算后的最终样式(浏览器显示的最终样式)的方法现在也忘得七七八八了  

  于是百度了一下,看了一下大神张鑫旭的博客,这里写个随笔记录一下,留作记录

  获取元素的样式,我们平常用得最多的方法是 elem.style.xxx属性,此属性既可都又可写,但!它只能获取元素的内嵌样式,所以要获取一个元素的真正样式并不能通过这个方法获取,于是有了下面两个方法:

  

  getComputedStyle : (现代浏览器以及ie9+ 的浏览器适用)

  1、此方法只读不可写

  2、调用时的形式:window.getComputedStyle(元素,伪类);

    此方法的第一个参数是元素的引用,第二个参数是一个伪类属性的名字,如果不需要刻意忽略但为了兼容某些老牌的浏览器还是要用null 填位

    在 firefox 3.6 上使用此方法获取框架样式的时候需要这样写  window.defaultView.getComputedStyle(元素,伪类)

  

  currentStyle : 此方法和上面的方法是一样的,只是它是ie 独有的方法

  1、此方法同样是可读不可写,而且它无法访问伪类属性

  2、调用时的形式直接就是  element.currentStyle

  

  以上两个方法返回的都是元素在浏览器上运行时的样式方法,而要获取某一特定样式属性值就需要一下方法了

   第一个:getPropertyValue(属性名)

      调用的方式就是上面两个方法的后面再调用

      此方法的参数无需是驼峰形式按照 css 属性名的形式写就好

  

   第二个:getAttribute(属性名)

      这个是ie 的方法,ie9 以下的浏览器在调用 currentStyle 这个方法时只能通过这个方法获取特定的样式属性

      而 ie9+ 的浏览器也可以直接调用 getPropertyValue 这个方法获取特定样式属性

      此方法的参数形式必须是驼峰形式

  当然上面这两个方法也可以通过键值的方式去访问,但是浏览器对一些样式属性名存在差异性所以最好还是用上面的两个方法来访问特定属性吧

  

  第三个:getPropertyCssValue

       不过这个方法极多浏览器不支持,慎用!

 

  想更深入理解访问这个链接:http://www.zhangxinxu.com/wordpress/2012/05/getcomputedstyle-js-getpropertyvalue-currentstyle/

【笔记】归纳js getcomputedStyle, currentStyle 以及其相关用法的更多相关文章

  1. 廖雪峰教程笔记:js中map和reduce的用法

    举例说明,比如我们有一个函数f(x)=x2,要把这个函数作用在一个数组[1, 2, 3, 4, 5, 6, 7, 8, 9]上,就可以用map实现如下: 由于map()方法定义在JavaScript的 ...

  2. Js相关用法个人总结

    Js相关用法个人总结  js中将数组元素添加到对象中var obj = {}; var pushArr = [11,22,33,44,55,66]; for(var i=0;i<pushArr. ...

  3. 笔记-爬虫-js代码解析

    笔记-爬虫-js代码解析 1.      js代码解析 1.1.    前言 在爬取网站时经常会有js生成关键信息,而且js代码是混淆过的. 以瓜子二手车为例,直接请求https://www.guaz ...

  4. Android Studio 学习笔记(一)环境搭建、文件目录等相关说明

    Android Studio 学习笔记(一)环境搭建.文件目录等相关说明 引入 对APP开发而言,Android和iOS是两大主流开发平台,其中区别在于 Android用java语言,用Android ...

  5. 【Ext.Net学习笔记】05:Ext.Net GridPanel的用法(包含Filter、Sorter、Grouping、汇总(Summary)的用法)

    GridPanel是用来显示数据的表格,与ASP.NET中的GridView类似. GridPanel用法 直接看代码: <ext:GridPanel runat="server&qu ...

  6. js中substring和substr的用法

    js中substring和substr的用法 substring 方法用于提取字符串中介于两个指定下标之间的字符 substring(start,end) 开始和结束的位置,从零开始的索引 参数    ...

  7. 第22篇 js中的this指针的用法

    前面把js的相关知识总结了下,今天把js中的上下文的this,对于强类型语言,this的用法非常的单一,因为他们没有js特有的动态绑定. 首先看下面代码: function funcA() { thi ...

  8. Java开发笔记(五十三)关键字final的用法

    前面介绍了多态的相关用法,可以看到一个子类从父类继承之后,便能假借父类的名义到处晃悠.这种机制在正常情况之下没啥问题,但有时为了预防意外发生,往往只接受当事人来处理,不希望它的儿子乃至孙子来瞎掺和.可 ...

  9. slf4j log4j logback关系详解和相关用法

    slf4j log4j logback关系详解和相关用法 写java也有一段时间了,一直都有用slf4j log4j输出日志的习惯.但是始终都是抱着"拿来主义"的态度,复制粘贴下配 ...

随机推荐

  1. C语言 extern3 全局变量的使用

    和函数的全局使用极其类似: 第一种方法,也是最简单的: 在 first.h 中定义, ; 在对应的first.c中使用: #include "first.h" #include & ...

  2. ESP8266使用详解--基于Lua脚本语言

    这些天,,,,今天终于看到了希望,,,天道酬勤 先说实现的功能...让ESP8266连接无线网,然后让它建立服务器,,我的客户端连接上以后,发给客户端发数据模块打印到串口,,往ESP8266串口里发数 ...

  3. C语言陷阱:浮点运算

    在Stack overflow上看到这样一个问题. 计算如下表达式的值: P=(1/2-3/4)*(5/6-7/8)*…*[n/(n-1) - (n+2)/(n+3)]. 程序如下: #include ...

  4. 我的JS 中级学习篇

    在codefordream上进入中级学习后,感觉立马从js的基础学习往前跳了好远,上面的东西好像都是第一次看到一样.这时候才发现,说来也曾接触过js,但是这时候才发现对js的认识就停在知道两点:js中 ...

  5. 什么是Git?

    其实我在写这篇随笔的时候连Git是什么都不知道,只是听说过,也注册了一个GitHub的账号,但并不会玩. 我也是查看了半天的网页才明白一个大概,但我觉得以后肯定会经常用到它. 简单的来说, Git 是 ...

  6. gstunnel---一个网络安全管道

    项目简介: gstunnel 是 基于go 语言开发的一个安全网络管道,支持tcp协议. gstunnel分为client和server两部分. gstunnel 基于aes进行数据加密. 流程示意: ...

  7. 关于开发中使用writeToFile时的注意事项

    总会有一些坑在前面等着你 我们先来看一下后台返回的部分json数据,稍后再来分析问题,仔细看一下userId和userCode两个字段,其他不用看 "list": [{ " ...

  8. 项目架构开发:数据访问层之Logger

    接上文 项目架构开发:数据访问层之Cache 本章我们继续ILogger的开发 ILogger.cs public interface ILogger { void Info(object messa ...

  9. 学好UI你必须要掌握这些技术

    转自:http://blog.sina.com.cn/s/blog_15da22ed10102x0gx.html ui设计现在已经是设计行业中的瞩目之星,无论在PC端.移动端还是游戏上都是大放异彩. ...

  10. Java8中 Parallel Streams 的陷阱 [译]

    译注:文本有所精简和意译 原文链接 : Java Parallel Streams Are Bad for Your Health!原作者:OLEG SHELAJEV 翻译:Hason 转载请保留相关 ...