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 Ajax学习实例3 向WebService发出请求,调用方法返回数据
Mar 16 Javascript
两个Javascript小tip资料
Nov 23 Javascript
jqPlot 图表中文API使用文档及源码和在线示例
Feb 07 Javascript
js冒泡法和数组转换成字符串示例代码
Aug 14 Javascript
快速解决jquery之get缓存问题的最简单方法介绍
Dec 19 Javascript
JQuery中的html()、text()、val()区别示例介绍
Sep 01 Javascript
JS中cookie的使用及缺点讲解
May 13 Javascript
ES6入门教程之变量的解构赋值详解
Apr 13 Javascript
实现elementUI表单的全局验证的方法步骤
Apr 29 Javascript
了解Javascript中函数作为对象的魅力
Jun 19 Javascript
Vue数据绑定实例写法
Aug 06 Javascript
高效jQuery选择器的5个技巧实例分析
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
WML,Apache,和 PHP 的介绍
2006/10/09 PHP
Windows下的PHP5.0详解
2006/11/18 PHP
简单的移动设备检测PHP脚本代码
2011/02/19 PHP
php显示时间常用方法小结
2015/06/05 PHP
PHP会话处理的10个函数
2015/08/11 PHP
Smarty模板引擎缓存机制详解
2016/05/23 PHP
input、button的不同type值在ajax提交表单时导致的陷阱
2009/02/24 Javascript
深入理解javaScript中的事件驱动
2013/05/21 Javascript
JavaScript 实现鼠标拖动元素实例代码
2014/02/24 Javascript
用js的document.write输出的广告无阻塞加载的方法
2014/06/05 Javascript
学习javascript的闭包,原型,和匿名函数之旅
2015/10/18 Javascript
Angular2 (RC5) 路由与导航详解
2016/09/21 Javascript
jQuery中JSONP的两种实现方式详解
2016/09/26 Javascript
vue+swiper实现组件化开发的实例代码
2017/10/26 Javascript
浅析JS抽象工厂模式
2017/12/14 Javascript
在vue-cli搭建的项目中增加后台mock接口的方法
2018/04/26 Javascript
详解Vue项目引入CreateJS的方法(亲测可用)
2019/05/30 Javascript
js类的继承定义与用法分析
2019/06/21 Javascript
jquery传参及获取方式(两种方式)
2020/02/13 jQuery
解决python爬虫中有中文的url问题
2018/05/11 Python
python 通过类中一个方法获取另一个方法变量的实例
2019/01/22 Python
深入理解Django-Signals信号量
2019/02/19 Python
Python 绘制酷炫的三维图步骤详解
2019/07/12 Python
Python单元测试模块doctest的具体使用
2020/02/10 Python
2020最新pycharm汉化安装(python工程狮亲测有效)
2020/04/26 Python
Python中lru_cache的使用和实现详解
2021/01/25 Python
使用phonegap进行提示操作的具体方法
2017/03/30 HTML / CSS
CSMA/CD介质访问控制协议
2015/11/17 面试题
金属材料工程毕业生个人的自我评价
2013/11/28 职场文书
本科生的职业生涯规划范文
2014/01/09 职场文书
初三班主任寄语大全
2014/04/04 职场文书
爱与责任演讲稿
2014/05/20 职场文书
英语教研活动总结
2014/07/02 职场文书
推销搭讪开场白
2015/05/28 职场文书
公司酒会致辞
2015/07/30 职场文书
java Nio使用NioSocket客户端与服务端交互实现方式
2021/06/15 Java/Android