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 相关文章推荐
jquery $.ajax()取xml数据的小问题解决方法
Nov 20 Javascript
JS小功能(setInterval实现图片效果显示时间)实例代码
Nov 28 Javascript
EasyUI,点击开启编辑框,并且编辑框获得焦点的方法
Mar 01 Javascript
jQuery遍历页面所有CheckBox查看是否被选中的方法
Apr 14 Javascript
javascript引用类型之时间Date和数组Array
Aug 27 Javascript
javascript设计简单的秒表计时器
Sep 05 Javascript
快速使用Bootstrap搭建传送带
May 06 Javascript
JS实现列表页面隔行变色效果
Mar 25 Javascript
node.js使用免费的阿里云ip查询获取ip所在地【推荐】
Sep 03 Javascript
微信小程序全局变量功能与用法详解
Jan 22 Javascript
vue2 中二级路由高亮问题及配置方法
Jun 10 Javascript
微信小程序用户授权、位置授权及获取微信绑定手机号
Jul 18 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
php+jQuery.uploadify实现文件上传教程
2014/12/26 PHP
PHP实现可自定义样式的分页类
2016/03/29 PHP
setAttribute 与 class冲突解决
2008/02/17 Javascript
window.event快达到全浏览器支持了,以后使用就方便了
2011/11/30 Javascript
jquery仿京东导航/仿淘宝商城左侧分类导航下拉菜单效果
2013/04/24 Javascript
原生javascript实现的分页插件pagenav
2014/08/28 Javascript
详谈jQuery中的this和$(this)
2014/11/13 Javascript
使用 TypeScript 重新编写的 JavaScript 坦克大战游戏代码
2015/04/07 Javascript
javascript数组去重的方法汇总
2015/04/14 Javascript
JS判断是否长按某一键的方法
2016/03/02 Javascript
jQuery插件pagination实现无刷新分页
2016/05/21 Javascript
AngularJS入门教程之表格实例详解
2016/07/27 Javascript
详解Node.js项目APM监控之New Relic
2017/05/12 Javascript
JavaScript ES6中const、let与var的对比详解
2017/06/18 Javascript
Python lxml模块安装教程
2015/06/02 Python
在Django框架中设置语言偏好的教程
2015/07/27 Python
在python中使用正则表达式查找可嵌套字符串组
2017/10/24 Python
Django在win10下的安装并创建工程
2017/11/20 Python
python中in在list和dict中查找效率的对比分析
2018/05/04 Python
python之pyqt5通过按钮改变Label的背景颜色方法
2019/06/13 Python
python中的错误如何查看
2020/07/08 Python
通过案例解析python鸭子类型相关原理
2020/10/10 Python
Aerosoles爱柔仕官网:美国舒软女鞋品牌
2017/07/17 全球购物
Sunglasses Shop丹麦:欧洲第一的太阳镜在线销售网站
2017/10/22 全球购物
Zatchels官网:英国剑桥包品牌
2021/01/12 全球购物
上海方立数码笔试题
2013/10/18 面试题
J2EE面试题
2016/03/14 面试题
实习单位接收函模板
2014/01/10 职场文书
村官学习十八大感想
2014/01/15 职场文书
人民教师的自我评价分享
2014/02/21 职场文书
幼儿教师培训感言
2014/03/08 职场文书
感恩母亲节演讲稿
2014/05/07 职场文书
小学生国庆演讲稿
2014/09/05 职场文书
无房产证房屋转让协议书合同样本
2014/10/18 职场文书
简单了解 MySQL 中相关的锁
2021/05/25 MySQL
为Centos安装指定版本的Docker
2022/04/01 Servers