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

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

  获取元素的样式,我们平常用得最多的方法是 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. UICollectionView 很简单的写个瀑布流

    你项目中要用到它吗? 可能会在你的项目中用到这玩意,最近也是要用就简单的写了一个 Demo.没多少代码,就不放Git了,下面会详细点的说说代码的,要还有什么问题的小伙伴可以直接Q我,也可以把Demo发 ...

  2. UINavigationController实现全屏滑动返回功能

    说明: UINavigationController默认在push出的控制器中都有边沿滑动返回功能,但是只能从屏幕左边滑才能返回,若从屏幕中间画并没有效果.下面实现全屏滑动功能. 探究: 系统默认能够 ...

  3. MS office2010 ppt自动放映的设置方法

    在菜单“幻灯片放映”-“排练时间”,进入演示,然后设置每张幻灯片需要等待的时间后,手动切换到下一张(如图),一直放映结束,会提示你是否保存排练时间.然后在菜单“幻灯片放映”-“设置放映方式”,里面选择 ...

  4. mybatis的动态sql中collection与assoction

    User.java, Role.java,address.java为三个类 public class User { .....//user自己的属性//association一对一 private R ...

  5. 百度网盘免费扩容 免费扩容到2048G

    您可以用手机端扩容 http://yun.baidu.com/1t 免费扩容到2048G

  6. C++拷贝构造&操作符重载

    头文件 DString.h如下 #ifndef __DSTRING_H #define __DSTRING_H #endif #include <stddef.h> class DStri ...

  7. progID

    ProgID程序员给CLSID指定的容易记住的名字ProgID命名约定:<Program>.<Component>.<Version>AppID:将某个APPID( ...

  8. Unbutu14.04 启用 root 并禁用guest

    系统环境: Ubuntu14.04 x64 问题描述: Ubuntu14.04的64位系统默认禁用 root 账号登录 解决方式:            1. 为root设置密码 sudo passw ...

  9. Visual Studio 2017 Bugs

    Crash report information: Problem signature: Problem Event Name: CLR20r3 Problem Signature 01: deven ...

  10. Vue 2.0初学后个人总结及分享

    摘要:最近在上海找工作,发现Vue前景还不错,于是就打算先学习一下(之前了解过,但是一直没提到日程上)这篇随笔当是为了自己学习之后,做一个小的阶段性总结.希望本文的内容对于刚开始接触vue的朋友们有点 ...