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 相关文章推荐
js ondocumentready onmouseover onclick onmouseout 样式
Jul 22 Javascript
jQuery使用之处理页面元素用法实例
Jan 19 Javascript
jQuery ajax时间差导致的变量赋值问题分析
Jan 22 Javascript
JS闭包、作用域链、垃圾回收、内存泄露相关知识小结
May 16 Javascript
javascript实现将数字转成千分位的方法小结【5种方式】
Dec 11 Javascript
AngularJs中 ng-repeat指令中实现含有自定义指令的动态html的方法
Jan 19 Javascript
基于Vue的文字跑马灯组件(npm 组件包)
May 24 Javascript
js与jQuery实现的用户注册协议倒计时功能实例【三种方法】
Nov 09 jQuery
浅谈es6 javascript的map数据结构
Dec 14 Javascript
浅谈React高阶组件
Mar 28 Javascript
浅析vue给不同环境配置不同打包命令
Aug 17 Javascript
vue-cli4使用全局less文件中的变量配置操作
Oct 21 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
Laravel框架中VerifyCsrfToken报错问题的解决
2017/08/30 PHP
PHP模版引擎原理、定义与用法实例
2019/03/29 PHP
3Z版基于jquery的图片复选框(asp.net+jquery)
2010/04/12 Javascript
jQuery中filter()和find()的区别深入了解
2013/09/25 Javascript
jQuery学习笔记之jQuery中的$
2015/01/19 Javascript
第六章之辅组类与响应式工具
2016/04/25 Javascript
Javascript中常用类型的格式化方法小结
2016/12/26 Javascript
js实现图片左右滚动效果
2017/02/27 Javascript
JavaScript 实现 Tab 点击切换实例代码
2017/03/25 Javascript
详解Layer弹出层样式
2017/08/21 Javascript
JS中Object对象的原型概念基础
2018/01/29 Javascript
Angular浏览器插件Batarang介绍及使用
2018/02/07 Javascript
微信小程序module.exports模块化操作实例浅析
2018/12/20 Javascript
Django中ORM表的创建和增删改查方法示例
2017/11/15 Python
pip安装Python库时遇到的问题及解决方法
2017/11/23 Python
获取python的list中含有重复值的index方法
2018/06/27 Python
python 借助numpy保存数据为csv格式的实现方法
2018/07/04 Python
django框架中间件原理与用法详解
2019/12/10 Python
Python如何把多个PDF文件合并代码实例
2020/02/13 Python
keras实现VGG16方式(预测一张图片)
2020/07/07 Python
利用Python实现斐波那契数列的方法实例
2020/07/26 Python
如何使用PyCharm引入需要使用的包的方法
2020/09/22 Python
纯CSS3实现鼠标悬停提示气泡效果
2014/02/28 HTML / CSS
办公室前台的岗位职责
2013/12/20 职场文书
机关门卫制度
2014/02/01 职场文书
商学院大学生求职的自我评价
2014/03/12 职场文书
第二课堂活动总结
2014/05/07 职场文书
创先争优一句话承诺
2014/05/29 职场文书
2014国庆节演讲稿:祖国在我心中(400字)
2014/09/25 职场文书
党政领导班子四风问题对照检查材料思想汇报
2014/10/02 职场文书
2015年七一建党节活动总结
2015/03/20 职场文书
爸爸的三轮车观后感
2015/06/16 职场文书
MySQL EXPLAIN输出列的详细解释
2021/05/12 MySQL
java代码实现空间切割
2022/01/18 Java/Android
vue报错function () { [native code] },无法出现我们想要的内容 Unknown custom element
2022/04/11 Vue.js
Apache Hudi 加速传统的批处理模式
2022/04/24 Servers