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 相关文章推荐
[原创]站长必须要知道的javascript广告代码
May 30 Javascript
用js遍历 table的脚本
Jul 23 Javascript
jQuery 加上最后自己的验证
Nov 04 Javascript
JS中动态添加事件(绑定事件)的代码
Jan 09 Javascript
js中document.getElementByid、document.all和document.layers区分介绍
Dec 08 Javascript
Bootstrap每天必学之滚动监听
Mar 16 Javascript
原生JavaScript实现AJAX、JSONP
Feb 07 Javascript
JS实现的新闻列表自动滚动效果示例
Jan 30 Javascript
小程序input数据双向绑定实现方法
Oct 17 Javascript
详解如何在Javascript中使用Object.freeze()
Oct 18 Javascript
解决VantUI popup 弹窗不弹出或无蒙层的问题
Nov 03 Javascript
js闭包的9个使用场景
Dec 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
php桌面中心(四) 数据显示
2007/03/11 PHP
JS URL传中文参数引发的乱码问题
2009/09/02 Javascript
JavaScript之引用类型介绍
2012/08/10 Javascript
jQuery使用post方法提交数据实例
2015/03/25 Javascript
javascript中callee与caller的区别分析
2015/04/20 Javascript
jQuery的bind()方法使用详解
2015/07/15 Javascript
基于Flowplayer打造一款免费的WEB视频播放器附源码
2015/09/06 Javascript
JavaScript判断页面加载完之后再执行预定函数的技巧
2016/05/17 Javascript
jQuery.uploadify文件上传组件实例讲解
2016/09/23 Javascript
Bootstrap 3.x打印预览背景色与文字显示异常的解决
2016/11/06 Javascript
使用JS正则表达式 替换括号,尖括号等
2016/11/29 Javascript
JS实现AES加密并与PHP互通的方法分析
2017/04/19 Javascript
Three.js实现浏览器变动时进行自适应的方法
2017/09/26 Javascript
实例分析JS与Node.js中的事件循环
2017/12/12 Javascript
JS中Object对象的原型概念基础
2018/01/29 Javascript
vue获取验证码倒计时组件
2019/08/26 Javascript
JavaScript实现动态留言板
2020/03/16 Javascript
Vue实现点击导航栏当前标签后变色功能
2020/08/19 Javascript
Vue绑定用户接口实现代码示例
2020/11/04 Javascript
[00:58]2016年国际邀请赛勇士令状宣传片
2016/06/01 DOTA
[51:07]VGJ.S vs Pain 2018国际邀请赛小组赛BO2 第一场 8.17
2018/08/20 DOTA
布隆过滤器的概述及Python实现方法
2019/12/08 Python
运行tensorflow python程序,限制对GPU和CPU的占用操作
2020/02/06 Python
在Keras中CNN联合LSTM进行分类实例
2020/06/29 Python
Pytorch之扩充tensor的操作
2021/03/04 Python
CSS3不透明度实例讲解
2016/04/26 HTML / CSS
video结合canvas实现视频在线截图功能
2018/06/25 HTML / CSS
美国Max仓库:Max Warehouse
2020/05/31 全球购物
声明struct x1 { . . . }; 和typedef struct { . . . }x2;有什么不同
2012/06/02 面试题
武汉某公司的C#笔试题面试题
2015/12/25 面试题
什么是JNDI的上下文?如何初始化JNDI上下文
2012/03/10 面试题
物流专员岗位职责
2014/02/17 职场文书
会计学专业自荐信
2014/06/25 职场文书
乡镇群众路线教育实践活动整改措施
2014/10/04 职场文书
商务英语邮件开头问候语
2015/11/10 职场文书
html form表单基础入门案例讲解
2021/07/21 HTML / CSS