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 相关文章推荐
什么是json和jsonp,jQuery json实例详详细说明
Dec 11 Javascript
JS中判断null、undefined与NaN的方法
Mar 26 Javascript
JavaScript基础语法、dom操作树及document对象
Dec 02 Javascript
使用jquery动态加载js文件的方法
Dec 24 Javascript
JavaScript接口的实现三种方式(推荐)
Jun 14 Javascript
Node.js的环境安装配置(使用nvm方式)
Oct 11 Javascript
基于Phantomjs生成PDF的实现方法
Nov 07 Javascript
Vue中UI组件库之Vuex与虚拟服务器初识
May 07 Javascript
vue实现计算器功能
Feb 22 Javascript
vue实现购物车功能(商品分类)
Apr 20 Javascript
Vue项目利用axios请求接口下载excel
Nov 17 Vue.js
vue图片裁剪插件vue-cropper使用方法详解
Dec 16 Vue.js
吐槽一下我所了解的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
PHP Document 代码注释规范
2009/04/13 PHP
探讨PHP删除文件夹的三种方法
2013/06/09 PHP
新浪微博OAuth认证和储存的主要过程详解
2015/03/27 PHP
PHP错误Warning:mysql_query()解决方法
2015/10/24 PHP
php等比例缩放图片及剪切图片代码分享
2016/02/13 PHP
PHP6连接SQLServer2005的三部曲
2016/04/15 PHP
php操纵mysqli数据库的实现方法
2016/09/18 PHP
php实现评论回复删除功能
2017/05/23 PHP
js innerHTML 的一些问题的解决方法
2008/06/22 Javascript
读jQuery之二(两种扩展)
2011/06/11 Javascript
三种方式获取XMLHttpRequest对象
2014/04/21 Javascript
详解JavaScript中的异常处理方法
2015/06/16 Javascript
js获取鼠标位置实例详解
2015/12/09 Javascript
Web打印解决方案之普通报表打印功能
2016/08/29 Javascript
浅谈JQ中mouseover和mouseenter的区别
2016/09/13 Javascript
js判断请求的url是否可访问,支持跨域判断的实现方法
2016/09/17 Javascript
jquery mobile移动端幻灯片滑动切换效果
2020/04/15 Javascript
jQuery制作图片旋转效果
2017/02/02 Javascript
Vue.js实战之利用vue-router实现跳转页面
2017/04/01 Javascript
JS兼容所有浏览器的DOMContentLoaded事件
2018/01/12 Javascript
解决百度Echarts图表坐标轴越界的方法
2018/10/17 Javascript
element-ui table span-method(行合并)的实现代码
2018/12/20 Javascript
详解vue中使用微信jssdk
2019/04/19 Javascript
python3 模拟登录v2ex实例讲解
2017/07/13 Python
Python使用装饰器进行django开发实例代码
2018/02/06 Python
django之对FileField字段的upload_to的设定方法
2019/07/28 Python
Python 实现顺序高斯消元法示例
2019/12/09 Python
Python的pygame安装教程详解
2020/02/10 Python
Python实现手势识别
2020/10/21 Python
澳大利亚的奢侈品牌:Oroton
2016/08/26 全球购物
Traffic People官网:女式花裙、上衣和连身裤
2020/10/12 全球购物
作文批改评语大全
2014/04/23 职场文书
童年读书笔记
2015/06/26 职场文书
董事长秘书工作总结
2015/08/14 职场文书
redis三种高可用方式部署的实现
2021/05/11 Redis
CSS3实现360度循环旋转功能
2022/02/12 HTML / CSS