利用原生JavaScript获取元素样式只是获取而已


Posted in Javascript onOctober 08, 2014

ps:是获取样式,不是设置样式。若没有给元素设置样式值,则返回浏览器给予的默认值。(论坛整理)

1、element.style:只能获取写在元素标签中的style属性里的样式值,无法获取到定义在<style></style>和通过<link href=”css.css”>加载进来的样式属性

var ele = document.getElementById('ele');

ele.style.color; //获取颜色

2、window.getComputedStyle():可以获取当前元素所有最终使用的CSS属性值。
window.getComputedStyle("元素", "伪类");

这个方法接受两个参数:要取得计算样式的元素和一个伪元素字符串(例如“:before”) 。如果不需要伪元素信息,第二个参数可以是null。也可以通过document.defaultView.getComputedStyle(“元素”, “伪类”);来使用
var ele = document.getElementById('ele');

var styles = window.getComputedStyle(ele,null);

styles.color; //获取颜色

可以通过style.length来查看浏览器默认样式的个数。IE6-8不支持该方法,需要使用后面的方法。对于Firefox和Safari,会把颜色转换成rgb格式。

3、element.currentStyle:IE 专用,返回的是元素当前应用的最终CSS属性值(包括外链CSS文件,页面中嵌入的<style>属性等)。

var ele = document.getElementById('ele');

var styles = ele.currentStyle;

styles.color;

注意:对于综合属性border等,ie返回undefined,其他浏览器有的返回值,有的不返回,但是borderLeftWidth这样的属性是返回值的

4、getPropertyValue():获取CSS样式的直接属性名称

var ele = document.getElementById('ele');

window.getComputedStyle(ele,null).getPropertyValue('color');

注意:属性名不支持驼峰格式,IE6-8不支持该方法,需要使用下面的方法

5、getAttribute():与getPropertyValue类似,有一点的差异是属性名驼峰格式

var test = document.getElementById('test');

window.getComputedStyle(test, null).getPropertyValue("backgroundColor");

注意:该方法只支持IE6-8。

下面的获取样式方法兼容IE、chrome、FireFox等

function getStyle(ele) {
var style = null;

if(window.getComputedStyle) {

style = window.getComputedStyle(ele, null);

}else{

style = ele.currentStyle;

}

return style;

}

在JQuery中,常用css()获取样式属性,其底层运作就应用了getComputedStyle以及getPropertyValue方法。
Javascript 相关文章推荐
js以对象为索引的关联数组
Jul 04 Javascript
javascript通过class来获取元素实现代码
Feb 20 Javascript
javascript常用函数归纳整理
Oct 31 Javascript
JavaScript实现在页面间传值的方法
Apr 07 Javascript
自定义刻度jQuery进度条及插件
Sep 02 Javascript
利用js+css+html实现固定table的列头不动
Dec 08 Javascript
Vuejs 用$emit与$on来进行兄弟组件之间的数据传输通信
Feb 23 Javascript
详解Vue的computed(计算属性)使用实例之TodoList
Aug 07 Javascript
vue.js项目中实用的小技巧汇总
Nov 29 Javascript
微信小程序功能之全屏滚动效果的实现代码
Nov 22 Javascript
JavaScript闭包与作用域链实例分析
Jan 21 Javascript
Node.js 中如何收集和解析命令行参数
Jan 08 Javascript
javascript学习笔记(八)正则表达式
Oct 08 #Javascript
javascript学习笔记(七)Ajax和Http状态码
Oct 08 #Javascript
javascript学习笔记(六)数据类型和JSON格式
Oct 08 #Javascript
javascript学习笔记(五)原型和原型链详解
Oct 08 #Javascript
JavaScript中获取高度和宽度函数总结
Oct 08 #Javascript
5个可以帮你理解JavaScript核心闭包和作用域的小例子
Oct 08 #Javascript
JavaScript中获取样式的原生方法小结
Oct 08 #Javascript
You might like
PHP实现图片简单上传
2006/10/09 PHP
php adodb连接带密码access数据库实例,测试成功
2008/05/14 PHP
用PHP伪造referer突破网盘禁止外连的代码
2008/06/15 PHP
PHP 多维数组排序实现代码
2009/08/05 PHP
dedecms函数分享之获取某一栏目所有子栏目
2014/05/19 PHP
分享最受欢迎的5款PHP框架
2014/11/27 PHP
thinkPHP3.2.2框架行为扩展及demo示例
2018/06/19 PHP
PHP使用SOAP调用API操作示例
2018/12/25 PHP
实例化php类时传参的方法分析
2020/06/05 PHP
雄兵连第三季海报曝光,艾妮熙德成主角,蔷薇新造型
2021/03/09 国漫
无闪烁更新网页内容JS实现
2013/12/19 Javascript
Node.js和PHP根据ip获取地理位置的方法
2014/03/14 Javascript
window.location 对象所包含的属性
2014/10/10 Javascript
基于JQuery制作可编辑的表格特效
2014/12/23 Javascript
js控制多图左右滚动切换效果代码分享
2015/08/26 Javascript
smartcrop.js智能图片裁剪库
2015/10/14 Javascript
Bootstrap3学习笔记(三)之表格
2016/05/20 Javascript
如何解决IONIC页面底部被遮住无法向上滚动问题
2016/09/06 Javascript
vue如何进行动画的封装
2018/09/26 Javascript
@angular前端项目代码优化之构建Api Tree的方法
2018/12/24 Javascript
JS如何在不同平台实现多语言方式
2020/07/16 Javascript
详解JavaScript原型与原型链
2020/11/16 Javascript
[07:03]显微镜下的DOTA2第九期——430圣堂刺客杀戮秀
2014/06/20 DOTA
100行Python代码实现自动抢火车票(附源码)
2018/01/11 Python
对python修改xml文件的节点值方法详解
2018/12/24 Python
python爬取微信公众号文章的方法
2019/02/26 Python
Python获取时间戳代码实例
2019/09/24 Python
Roots加拿大官网:加拿大休闲服饰品牌
2016/10/24 全球购物
澳大利亚墨尔本的在线时装店:LORETA
2018/09/14 全球购物
《画》教学反思
2014/04/14 职场文书
创新社会管理心得体会
2014/09/12 职场文书
Python多线程 Queue 模块常见用法
2021/07/04 Python
教你快速构建一个基于nginx的web集群项目
2021/11/27 Servers
SpringBoot2零基础到精通之异常处理与web原生组件注入
2022/03/22 Java/Android
Apache Hudi数据布局黑科技降低一半查询时间
2022/03/31 Servers
Python使用DFA算法过滤内容敏感词
2022/04/22 Python