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 相关文章推荐
学习ExtJS(一) 之基础前提
Oct 07 Javascript
JavaScript将页面表格导出为Excel的具体实现
Dec 27 Javascript
javascript中的 object 和 function小结
Aug 14 Javascript
Angular.JS中的this指向详解
May 17 Javascript
vue中页面跳转拦截器的实现方法
Aug 23 Javascript
Koa 使用小技巧(小结)
Oct 22 Javascript
微信小程序实现文件、图片上传功能
Aug 18 Javascript
vue store之状态管理模式的详细介绍
Jun 13 Javascript
用Node写一条配置环境的指令
Nov 14 Javascript
JS对象属性的检测与获取操作实例分析
Mar 17 Javascript
javascript自定义加载loading效果
Sep 15 Javascript
vue-router懒加载的3种方式汇总
Feb 28 Vue.js
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 获取目录下的图片并随机显示的代码
2009/12/28 PHP
php中防止恶意刷新页面的代码小结
2012/10/31 PHP
PHP实现搜索地理位置及计算两点地理位置间距离的实例
2016/01/08 PHP
Aster vs Newbee BO3 第三场2.18
2021/03/10 DOTA
jQuery 开天辟地入门篇一
2009/12/09 Javascript
javascript window.opener的用法分析
2010/04/07 Javascript
基于mootools 1.3框架下的图片滑动效果代码
2011/04/22 Javascript
window.open关于浏览器拦截问题分析及解决方法
2013/02/05 Javascript
网页中可关闭的漂浮窗口实现可自行调节
2013/08/20 Javascript
ParseInt函数参数设置介绍
2014/01/02 Javascript
js函数定时器实现定时读取系统实时连接数
2014/04/30 Javascript
jQuery中的read和JavaScript中的onload函数的区别
2014/08/27 Javascript
node.js中的events.EventEmitter.listenerCount方法使用说明
2014/12/08 Javascript
JavaScript仿静态分页实现方法
2015/08/04 Javascript
node.js微信公众平台开发教程
2016/03/04 Javascript
JavaScript实现图片自动加载的瀑布流效果
2016/04/11 Javascript
JavaScript实现窗口抖动效果
2016/10/19 Javascript
nodejs中向HTTP响应传送进程的输出
2017/03/19 NodeJs
jQuery列表检索功能实现代码
2017/07/17 jQuery
express + jwt + postMan验证实现持久化登录
2019/06/05 Javascript
js实现数据导出为EXCEL(支持大量数据导出)
2020/03/31 Javascript
[49:54]Ti4 循环赛第三日 LGD vs Titan
2014/07/12 DOTA
浅谈Python数据类型判断及列表脚本操作
2016/11/04 Python
Django Celery异步任务队列的实现
2019/07/24 Python
解决Keras中循环使用K.ctc_decode内存不释放的问题
2020/06/29 Python
Keras实现DenseNet结构操作
2020/07/06 Python
基于python爬取梨视频实现过程解析
2020/11/09 Python
详解Html5中video标签那些属性和方法
2019/07/01 HTML / CSS
365 Tickets英国:全球景点门票
2019/07/06 全球购物
洲际酒店集团英国官网:IHG英国
2019/07/10 全球购物
介绍一下XMLHttpRequest对象的常用方法和属性
2013/05/24 面试题
青年创业培训欢迎词
2014/01/08 职场文书
美发活动策划书
2014/01/14 职场文书
我爱家乡演讲稿
2014/09/12 职场文书
学校机关党总支领导班子整改工作方案
2014/10/26 职场文书
2015初一年级组工作总结
2015/07/24 职场文书