JavaScript中获取样式的原生方法小结


Posted in Javascript onOctober 08, 2014

ps:是获取样式,不是设置样式。若没有给元素设置样式值,则返回浏览器给予的默认值。(论坛整理)

1、element.style:只能获取写在元素标签中的style属性里的样式值,无法获取到定义在<style></style>和通过<link href=”css.css”>加载进来的样式属性

var ele = document.getElementById('ele');

ele.style.color;    //获取颜色

2、window.getComputedStyle():可以获取当前元素所有最终使用的CSS属性值。

window.getComputedStyle("元素", "伪类");

这个方法接受两个参数:要取得计算样式的元素和一个伪元素字符串(例如“:before”) 。如果不需要伪元素信息,第二个参数可以是null。也可以通过document.defaultView.getComputedStyle(“元素”, “伪类”);来使用
var ele = document.getElementById('ele');

var styles = window.getComputedStyle(ele,null);

styles.color;  //获取颜色

可以通过style.length来查看浏览器默认样式的个数。IE6-8不支持该方法,需要使用后面的方法。对于Firefox和Safari,会把颜色转换成rgb格式。

3、element.currentStyle:IE 专用,返回的是元素当前应用的最终CSS属性值(包括外链CSS文件,页面中嵌入的<style>属性等)。

var ele = document.getElementById('ele');

var styles = ele.currentStyle;

styles.color;

注意:对于综合属性border等,ie返回undefined,其他浏览器有的返回值,有的不返回,但是borderLeftWidth这样的属性是返回值的

4、getPropertyValue():获取CSS样式的直接属性名称

var ele = document.getElementById('ele');

window.getComputedStyle(ele,null).getPropertyValue('color');

注意:属性名不支持驼峰格式,IE6-8不支持该方法,需要使用下面的方法

5、getAttribute():与getPropertyValue类似,有一点的差异是属性名驼峰格式

var test = document.getElementById('test');

window.getComputedStyle(test, null).getPropertyValue("backgroundColor");

注意:该方法只支持IE6-8。

下面的获取样式方法兼容IE、chrome、FireFox等

function getStyle(ele) {

     var style = null;

     

    if(window.getComputedStyle) {

         style = window.getComputedStyle(ele, null);

     }else{

         style = ele.currentStyle;

     }

     

    return style;

}

在JQuery中,常用css()获取样式属性,其底层运作就应用了getComputedStyle以及getPropertyValue方法。
Javascript 相关文章推荐
理解JavaScript中的对象 推荐
Jan 09 Javascript
JavaScript自定义日期格式化函数详细解析
Jan 14 Javascript
原生js编写设为首页兼容ie、火狐和谷歌
Jun 05 Javascript
IE8下Jquery获取select选中的值post到后台报错问题
Jul 02 Javascript
每天一篇javascript学习小结(面向对象编程)
Nov 20 Javascript
原生JS实现左右箭头选择日期实例代码
Mar 14 Javascript
基于VUE移动音乐WEBAPP跨域请求失败的解决方法
Jan 16 Javascript
使用vue的transition完成滑动过渡的示例代码
Jun 25 Javascript
10行代码实现微信小程序滑动tab切换
Dec 28 Javascript
js时间戳转yyyy-MM-dd HH-mm-ss工具类详解
Apr 30 Javascript
vue使用require.context实现动态注册路由
Dec 25 Vue.js
TypeScript 内置高级类型编程示例
Sep 23 Javascript
吐槽一下我所了解的Node.js
Oct 08 #Javascript
Node.js 的异步 IO 性能探讨
Oct 08 #Javascript
JS中的form.submit()不能提交表单的错误原因
Oct 08 #Javascript
js数值计算时使用parseInt进行数据类型转换(jquery)
Oct 07 #Javascript
js交换排序 冒泡排序算法(Javascript版)
Oct 04 #Javascript
Javascript获取当前时间函数和时间操作小结
Oct 01 #Javascript
js事件绑定快捷键以ctrl+k为例
Sep 30 #Javascript
You might like
NOT NULL 和NULL
2007/01/15 PHP
关于PHP5 Session生命周期介绍
2010/03/02 PHP
Apache中php.ini的设置方法
2013/02/28 PHP
php实现递归的三种基本方式
2020/07/04 PHP
HTML中嵌入PHP的简单方法
2016/02/16 PHP
PHP中Array相关函数简介
2016/07/03 PHP
php取出数组单个值的方法
2018/03/12 PHP
Jquery Ajax请求代码(2)
2011/01/07 Javascript
javascript时区函数介绍
2012/09/14 Javascript
JavaScript中的常见问题解决方法(乱码,IE缓存,代理)
2013/11/28 Javascript
关于JavaScript 原型链的一点个人理解
2016/07/31 Javascript
微信小程序 less文件编译成wxss文件实现办法
2016/12/05 Javascript
EasyUI折叠表格层次显示detailview详解及实例
2016/12/28 Javascript
Bootstrap BootstrapDialog使用详解
2017/02/17 Javascript
javaScript中封装的各种写法示例(推荐)
2017/07/03 Javascript
使用JS组件实现带ToolTip验证框的实例代码
2017/08/23 Javascript
解决Vue编译时写在style中的路径问题
2017/09/21 Javascript
微信小程序实现循环动画效果
2018/07/16 Javascript
微信小程序实现打卡日历功能
2020/09/21 Javascript
Python的Django框架可适配的各种数据库介绍
2015/07/15 Python
Python3实现抓取javascript动态生成的html网页功能示例
2017/08/22 Python
pandas.dataframe中根据条件获取元素所在的位置方法(索引)
2018/06/07 Python
python爬虫神器Pyppeteer入门及使用
2019/07/13 Python
python使用PIL和matplotlib获取图片像素点并合并解析
2019/09/10 Python
python3访问字典里的值实例方法
2020/11/18 Python
HomeAway澳大利亚:预订你的度假屋,公寓、度假村、别墅等
2019/02/20 全球购物
日本最大化妆品和美容产品的综合口碑网站:cosme shopping
2019/08/28 全球购物
应届生财务管理求职信
2013/11/06 职场文书
物业管理员岗位职责范文
2013/11/25 职场文书
工程资料员岗位职责
2014/03/10 职场文书
交通安全责任书范本
2014/07/24 职场文书
承兑汇票转让证明怎么写?
2014/11/30 职场文书
文明单位创建材料
2014/12/24 职场文书
演讲开场白和结束语
2015/05/29 职场文书
军训心得体会范文(2016最新篇)
2016/01/11 职场文书
Python编程根据字典列表相同键的值进行合并
2021/10/05 Python