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 09 Javascript
jquery 3D球状导航的文章分类
Jul 06 Javascript
jquery单选框radio绑定click事件实现方法
Jan 14 Javascript
jQuery弹出窗口打开链接的实现代码
Dec 24 Javascript
微信小程序实战之运维小项目
Jan 17 Javascript
JS实现按钮颜色切换效果
Sep 05 Javascript
JavaScript设计模式之单例模式简单实例教程
Jul 02 Javascript
jQuery中实现text()的方法
Apr 04 jQuery
Vue实现购物车的全选、单选、显示商品价格代码实例
May 06 Javascript
微信小程序设置滚动条过程详解
Jul 25 Javascript
vue中的过滤器及其时间格式化问题
Apr 09 Javascript
JavaScript点击按钮生成4位随机验证码
Jan 28 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
给apache2.2加上mod_encoding模块後 php5.2.0 处理url出现bug
2007/04/12 PHP
php array_map array_multisort 高效处理多维数组排序
2009/06/11 PHP
Yii+upload实现AJAX上传图片的方法
2016/07/13 PHP
PHP接入支付宝接口失效流程详解
2020/11/10 PHP
使用jQuery同时控制四张图片的伸缩实现代码
2013/04/19 Javascript
设为首页和收藏的Javascript代码(亲测兼容IE,Firefox,chrome等浏览器)
2013/11/18 Javascript
flash遮住div问题的正确解决方法
2014/02/27 Javascript
js+css实现select的美化效果
2016/03/24 Javascript
简单了解JavaScript操作XPath的一些基本方法
2016/06/03 Javascript
JS实现滑动门效果的方法详解
2016/12/19 Javascript
基于jquery实现二级联动效果
2017/03/30 jQuery
vue-lazyload图片延迟加载插件的实例讲解
2018/02/09 Javascript
vue.js中created方法作用
2018/03/30 Javascript
详解微信JS-SDK选择图片遇到的坑
2018/08/15 Javascript
js中实例与对象的区别讲解
2019/01/21 Javascript
JavaScript强制类型转换和隐式类型转换操作示例
2019/05/01 Javascript
解决vue单页面应用中动态修改title问题
2019/06/09 Javascript
[06:07]刀塔密之二:攻之吾命受之吾幸
2014/07/03 DOTA
Python多线程实例教程
2014/09/06 Python
Python编码类型转换方法详解
2016/07/01 Python
python中set()函数简介及实例解析
2018/01/09 Python
解决Pycharm运行时找不到文件的问题
2018/10/29 Python
Django文件上传与下载(FileFlid)
2019/10/06 Python
Python基于pygame实现单机版五子棋对战
2019/12/26 Python
南非最受欢迎的时尚品牌:MRP
2016/09/18 全球购物
HealthElement海外旗舰店:新西兰大卖场
2018/02/23 全球购物
澳大利亚设计的婴儿和女孩的衣服:Oobi
2018/12/16 全球购物
英国顶级水晶珠宝零售商之一:Tresor Paris
2019/04/27 全球购物
银行职员个人的工作自我评价
2014/02/15 职场文书
自荐信的基本格式
2014/02/22 职场文书
求职自我推荐信
2014/06/25 职场文书
群众路线剖析材料怎么写
2014/10/09 职场文书
药店收银员岗位职责
2015/04/07 职场文书
2015年行政执法工作总结
2015/05/23 职场文书
走进毛泽东观后感
2015/06/04 职场文书
学校教学管理制度
2015/08/06 职场文书