javascript 获取元素样式必杀技


Posted in Javascript onMay 04, 2014

Javascript获取CSS属性值方法:getComputedStyle和currentStyle

1 .对于元素的内联CSS样式(<div style="color:#369">hello</div>),可以直接使用element.style.color来直接获取css属性的值;

2. 但是对于外部定义的css样式使用这种方式就无法获取了,而且IE浏览器和其他标准浏览器(Firefox,Chrome,Opera,Safari)使用的方法不一样,IE浏览器使用element.currentStyle,W3C标准浏览器使用getComputedStyle来获取。

1. IE获取元素外部定义的CSS属性值: element.currentStyle

currentStyle对象返回了元素上的样式表,但是style对象只返回通过style标签属性应用到元素的内嵌样式。

因此,通过currentStyle对象获取的样式值可能与通过style对象获取的样式值不同。

例如,如果段落的color属性值通过链接或嵌入样式表设置为红色( red ),而不是内嵌的话,对象.currentStyle.color 将返回正确的颜色,而对象style.color不能返回值。但是,如果用户指定了 <P STYLE="color:'red'">,currentStyle和STYLE对象都将返回值 red。
currentStyle对象反映了样式表中的样式优先顺序。在 HTML 中此顺序为:

1) 内嵌样式

2) 样式表规则

3) HTML 标签属性

4) HTML 标签的内部定义

2. W3C获取元素外部定义的CSS属性值: window.getComputedStyle(element, pseudoElt)
element必选,HTML元素
pseudoElt必选,获取该元素的伪类样式

function getStyle(node, property){ 
if (node.style[property]) { 
return node.style[property]; 
} 
else if (node.currentStyle) { 
return node.currentStyle[property]; 
} 
else if (document.defaultView && document.defaultView.getComputedStyle) { 
var style = document.defaultView.getComputedStyle(node, null); 
return style.getPropertyValue(property); 
} 
return null; 
}
Javascript 相关文章推荐
jquery实现table鼠标经过变色代码
Sep 25 Javascript
jQuery实现手机号码输入提示功能实例
Apr 30 Javascript
JQuery的常用选择器、过滤器、方法全面介绍
May 25 Javascript
通用无限极下拉菜单的实现代码
May 31 Javascript
精彩的Bootstrap案例分享 重点在注释!(选项卡、栅格布局)
Jul 01 Javascript
完美的js div拖拽实例代码
Sep 24 Javascript
微信小程序 wx.request(object) API详解及实例代码
Sep 30 Javascript
Javascript中引用类型传递的知识点小结
Mar 06 Javascript
微信小程序中form 表单提交和取值实例详解
Apr 20 Javascript
原生js轮播特效
May 18 Javascript
node.js开发辅助工具nodemon安装与配置详解
Feb 06 Javascript
如何使用three.js 制作一个三维的推箱子游戏
Jul 29 Javascript
javascript操作excel生成报表全攻略
May 04 #Javascript
javascript如何使用bind指定接收者
May 04 #Javascript
用jquery.sortElements实现table排序
May 04 #Javascript
jquery实现的鼠标拖动排序Li或Table
May 04 #Javascript
自己用jQuery写了一个图片的马赛克消失效果
May 04 #Javascript
javascript实现2048游戏示例
May 04 #Javascript
Extjs 4.x 得到form CheckBox 复选框的值
May 04 #Javascript
You might like
第六节--访问属性和方法
2006/11/16 PHP
在yii中新增一个用户验证的方法详解
2013/06/20 PHP
PHP数组操作类实例
2015/07/11 PHP
PHP基于单例模式实现的数据库操作基类
2016/01/15 PHP
汇总PHPmailer群发Gmail的常见问题
2016/02/24 PHP
php array_udiff_assoc 计算两个数组的差集实例
2016/11/12 PHP
基于jquery的让页面控件不可用的实现代码
2010/04/27 Javascript
将字符串中由空格隔开的每个单词首字母大写
2014/04/06 Javascript
jQuery使用animate创建动画用法实例
2015/08/07 Javascript
js正则表达式验证邮件地址
2015/11/12 Javascript
Bootstrap 模态框实例插件案例分析
2016/12/28 Javascript
vue vuex vue-rouert后台项目——权限路由(适合初学)
2017/12/29 Javascript
基于js 各种排序方法和sort方法的区别(详解)
2018/01/03 Javascript
vue轻量级框架无法获取到vue对象解决方法
2019/05/12 Javascript
VUE前后端学习tab写法实例
2019/08/06 Javascript
JavaScript中的this基本问题实例小结
2020/03/09 Javascript
创建与框架无关的JavaScript插件
2020/12/01 Javascript
[04:01]2014DOTA2国际邀请赛 TITAN告别Ohaiyo期望明年再战
2014/07/15 DOTA
[02:59]DOTA2完美大师赛主赛事第三日精彩集锦
2017/11/25 DOTA
编写Python脚本来实现最简单的FTP下载的教程
2015/05/04 Python
python实现txt文件格式转换为arff格式
2018/05/31 Python
安装好Pycharm后如何配置Python解释器简易教程
2019/06/28 Python
使用python写的opencv实时监测和解析二维码和条形码
2019/08/14 Python
Python如何获取Win7,Win10系统缩放大小
2020/01/10 Python
python打包多类型文件的操作方法
2020/09/21 Python
python3.7中安装paddleocr及paddlepaddle包的多种方法
2020/11/27 Python
canvas环形倒计时组件的示例代码
2018/06/14 HTML / CSS
速比涛英国官网:Speedo英国
2019/07/15 全球购物
正隆泰信息技术有限公司上机题
2012/06/14 面试题
环境科学专业大学生自荐信格式
2013/09/21 职场文书
财务助理岗位职责
2013/11/10 职场文书
合同专员岗位职责
2013/12/18 职场文书
抗震救灾标语
2014/06/26 职场文书
2016年端午节红领巾广播稿
2015/12/18 职场文书
用Python的绘图库(matplotlib)绘制小波能量谱
2021/04/17 Python
【海涛dota】偶遇拉娜娅 质量局德鲁伊第一视角解说
2022/04/01 DOTA