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 相关文章推荐
动态创建样式表在各浏览器中的差异测试代码
Sep 13 Javascript
JQuery判断radio是否选中并获取选中值的示例代码
Oct 17 Javascript
javascript实现3D变换的立体圆圈实例
Aug 06 Javascript
jQuery基于ajax()使用serialize()提交form数据的方法
Dec 08 Javascript
jQuery命名空间与闭包用法示例
Jan 12 Javascript
Vue实现路由跳转和嵌套
Jun 20 Javascript
Javascript格式化并高亮xml字符串的方法及注意事项
Aug 13 Javascript
layui的table单击行勾选checkbox功能方法
Aug 14 Javascript
详解小程序输入框闪烁及重影BUG解决方案
Aug 31 Javascript
详解element-ui中表单验证的三种方式
Sep 18 Javascript
JavaScript canvas基于数组生成柱状图代码实例
Mar 06 Javascript
electron踩坑之remote of undefined的解决
Oct 06 Javascript
吐槽一下我所了解的Node.js
Oct 08 #Javascript
Node.js 的异步 IO 性能探讨
Oct 08 #Javascript
JS中的form.submit()不能提交表单的错误原因
Oct 08 #Javascript
js数值计算时使用parseInt进行数据类型转换(jquery)
Oct 07 #Javascript
js交换排序 冒泡排序算法(Javascript版)
Oct 04 #Javascript
Javascript获取当前时间函数和时间操作小结
Oct 01 #Javascript
js事件绑定快捷键以ctrl+k为例
Sep 30 #Javascript
You might like
对squid中refresh_pattern的一些理解和建议
2009/04/17 PHP
PHP自定义大小验证码的方法详解
2013/06/07 PHP
php类自动装载、链式操作、魔术方法实现代码
2017/07/23 PHP
Ajax+Jpgraph实现的动态折线图功能示例
2019/02/11 PHP
php常用日期时间函数实例小结
2019/07/04 PHP
SyntaxHighlighter代码加色使用方法
2008/09/07 Javascript
javascript中常用编程知识
2013/04/08 Javascript
使用JSON.parse将json字符串转换成json对象的时候会出错
2014/09/04 Javascript
EasyUi combotree 实现动态加载树节点
2016/04/01 Javascript
js实现多行文本框统计剩余字数功能
2017/03/28 Javascript
vue实现tab切换外加样式切换方法
2018/03/16 Javascript
浅谈jquery fullpage 插件增加头部和版权的方法
2018/03/20 jQuery
解决bootstrap中下拉菜单点击后不关闭的问题
2018/08/10 Javascript
python不带重复的全排列代码
2013/08/13 Python
Python中asyncore的用法实例
2014/09/29 Python
Python中的map()函数和reduce()函数的用法
2015/04/27 Python
python-web根据元素属性进行定位的方法
2019/12/13 Python
提升python处理速度原理及方法实例
2019/12/25 Python
快速解决Django关闭Debug模式无法加载media图片与static静态文件
2020/04/07 Python
利用python为PostgreSQL的表自动添加分区
2021/01/18 Python
10张动图学会python循环与递归问题
2021/02/06 Python
欧缇丽美国官网:Caudalie美国
2016/12/31 全球购物
New Balance法国官方网站:购买鞋子和服装
2019/09/01 全球购物
公司领导推荐信
2013/11/12 职场文书
外语系毕业生自荐信范文
2013/12/16 职场文书
学生期末评语大全
2014/04/30 职场文书
社团活动总结书
2014/06/27 职场文书
甜品店创业计划书
2014/09/21 职场文书
学校元旦晚会开场白
2014/12/14 职场文书
初中政治教学工作总结
2015/08/13 职场文书
Python List remove()实例用法详解
2021/08/02 Python
Java实现二分搜索树的示例代码
2022/03/17 Java/Android
python疲劳驾驶困倦低头检测功能的实现
2022/04/04 Python
Java 获取Word中所有的插入和删除修订的方法
2022/04/06 Java/Android
python前后端自定义分页器
2022/04/13 Python
Spring Boot 的创建和运行示例代码详解
2022/07/23 Java/Android