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 相关文章推荐
asp 的 分词实现代码
May 24 Javascript
基于jQuery的弹出框插件
Mar 18 Javascript
浅谈关于JavaScript的语言特性分析
Apr 11 Javascript
JS 两个字符串时间的天数差计算
Aug 25 Javascript
JavaScript 事件入门知识
Apr 13 Javascript
实现非常简单的js双向数据绑定
Nov 06 Javascript
jQuery插件fullPage.js实现全屏滚动效果
Dec 02 Javascript
vue 将页面公用的头部组件化的方法
Dec 18 Javascript
在Angular中使用JWT认证方法示例
Sep 10 Javascript
jQuery each和js forEach用法比较
Feb 27 jQuery
基于 vue-skeleton-webpack-plugin 的骨架屏实战
Aug 05 Javascript
微信小程序学习总结(五)常见问题实例小结
Jun 04 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/10/09 PHP
php操作SVN版本服务器类代码
2011/11/27 PHP
探讨GDFONTPATH能否被winxp下的php支持
2013/06/21 PHP
php转换颜色为其反色的方法
2015/04/27 PHP
将PHP从5.3.28升级到5.3.29时Nginx出现502错误
2015/05/09 PHP
PHP 记录访客的浏览信息方法
2018/01/29 PHP
php+redis实现商城秒杀功能
2020/11/19 PHP
javascript下IE与FF兼容函数收集
2008/09/17 Javascript
javascript contains和compareDocumentPosition 方法来确定是否HTML节点间的关系
2010/02/04 Javascript
原生js实现查找/添加/删除/指定元素的class
2013/04/12 Javascript
让元素在网页中可拖动示例代码
2013/08/13 Javascript
全面解析Bootstrap表单使用方法(表单样式)
2015/11/24 Javascript
JS组件系列之Bootstrap table表格组件神器【二、父子表和行列调序】
2016/05/10 Javascript
浅谈JavaScript正则表达式-非捕获性分组
2017/03/08 Javascript
JavaScript中使用webuploader实现上传视频功能(demo)
2017/04/10 Javascript
javascript创建元素和删除元素实例小结
2019/06/19 Javascript
Vue+ElementUI table实现表格分页
2019/12/14 Javascript
Python2.X/Python3.X中urllib库区别讲解
2017/12/19 Python
Python实现的质因式分解算法示例
2018/05/03 Python
python3 小数位的四舍五入(用两种方法解决round 遇5不进)
2019/04/11 Python
PyQt Qt Designer工具的布局管理详解
2019/08/07 Python
浅谈Python 钉钉报警必备知识系统讲解
2020/08/17 Python
Django实现微信小程序支付的示例代码
2020/09/03 Python
python 将Excel转Word的示例
2021/03/02 Python
CSS3实现精美横向滚动菜单按钮
2017/04/14 HTML / CSS
APM Monaco中国官网:来自摩纳哥珠宝品牌
2017/12/27 全球购物
加拿大领先的时尚和体育零售商:Sporting Life
2019/12/15 全球购物
新加坡鲜花速递/新加坡网上花店:Ferns N Petals
2020/08/29 全球购物
计算机专业自荐信
2013/10/14 职场文书
党校培训思想汇报
2014/01/03 职场文书
政府法律服务方案
2014/06/14 职场文书
在职证明书模板
2015/06/15 职场文书
优秀学生主要事迹怎么写
2015/11/04 职场文书
2016年国庆节新闻稿范文
2015/11/25 职场文书
i7 6700处理器相当于i5几代
2022/04/19 数码科技
Win11自动黑屏怎么办 Win11自动黑屏设置教程
2022/07/15 数码科技