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 filter函数使用方法
May 19 Javascript
jquery实现的美女拼图游戏实例
May 04 Javascript
基于JavaScript实现智能右键菜单
Mar 02 Javascript
javascript常见数字进制转换实例分析
Apr 21 Javascript
第六篇Bootstrap表格样式介绍
Jun 21 Javascript
D3.js实现散点图和气泡图的方法详解
Sep 21 Javascript
jQuery webuploader分片上传大文件
Nov 07 Javascript
基于JavaScript实现轮播图原理及示例
Apr 10 Javascript
ES6/JavaScript使用技巧分享
Dec 14 Javascript
vue集成chart.js的实现方法
Aug 20 Javascript
vue 路由子组件created和mounted不起作用的解决方法
Nov 05 Javascript
jQuery实现轮播图效果
Nov 26 jQuery
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
PHP clearstatcache()函数详解
2010/03/02 PHP
Youku 视频绝对地址获取的方法详解
2013/06/26 PHP
PHP删除HTMl标签的三种解决方法
2013/06/30 PHP
ThinkPHP3.1查询语言详解
2014/06/19 PHP
PHP的Socket网络编程入门指引
2015/08/11 PHP
jQuery获取文本节点之 text()/val()/html() 方法区别
2011/03/01 Javascript
jquery里的正则表达式说明
2011/08/03 Javascript
js实现异步循环实现代码
2016/02/16 Javascript
浅谈JavaScript的push(),pop(),concat()方法
2016/06/03 Javascript
基于MVC5和Bootstrap的jQuery TreeView树形控件(一)之数据支持json字符串、list集合
2016/08/11 Javascript
轻松掌握JavaScript享元模式
2016/08/27 Javascript
js微信应用场景之微信音乐相册案例分享
2017/08/11 Javascript
vue2.0 常用的 UI 库实例讲解
2017/12/12 Javascript
[40:06]DOTA2亚洲邀请赛 4.3 突围赛 Liquid vs VGJ.T 第一场
2018/04/04 DOTA
用实例分析Python中method的参数传递过程
2015/04/02 Python
使用Python的Scrapy框架编写web爬虫的简单示例
2015/04/17 Python
Python实现列表转换成字典数据结构的方法
2016/03/11 Python
Python竟能画这么漂亮的花,帅呆了(代码分享)
2017/11/15 Python
Python基于动态规划算法解决01背包问题实例
2017/12/06 Python
python爬取拉勾网职位数据的方法
2018/01/24 Python
Python中%是什么意思?python中百分号如何使用?
2018/03/20 Python
利用Python进行数据可视化常见的9种方法!超实用!
2018/07/11 Python
PyCharm2019安装教程及其使用(图文教程)
2019/09/29 Python
详解Python中的分支和循环结构
2020/02/11 Python
python实现逆滤波与维纳滤波示例
2020/02/26 Python
什么是WEB控件?使用WEB控件有哪些优势?
2012/01/21 面试题
什么是组件架构
2016/05/15 面试题
致接力运动员广播稿
2014/02/17 职场文书
应用心理学专业求职信
2014/08/04 职场文书
《中国梦我的梦》大学生演讲稿
2014/08/20 职场文书
农村文化活动总结
2014/08/28 职场文书
党的群众路线教育实践活动个人整改方案
2014/09/21 职场文书
2014年小学语文工作总结
2014/12/20 职场文书
逃课检讨书
2015/01/26 职场文书
2015年公务员转正工作总结
2015/04/24 职场文书
PHP获取学生成绩的方法
2021/11/17 PHP