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 相关文章推荐
用javascript实现点击链接弹出&quot;图片另存为&quot;而不是直接打开
Aug 15 Javascript
jquery 1.4.2发布!主要是性能与API
Feb 25 Javascript
Ajax局部更新导致JS事件重复触发问题的解决方法
Oct 14 Javascript
微信小程序 MD5的方法详解及实例代码
Mar 10 Javascript
node中Express 动态设置端口的方法
Aug 04 Javascript
vue实现模态框的通用写法推荐
Feb 26 Javascript
使用FileReader API创建Vue文件阅读器组件
Apr 03 Javascript
微信小程序 确认框的实现(附代码)
Jul 23 Javascript
浅析微信小程序modal弹窗关闭默认会执行cancel问题
Oct 14 Javascript
JS表格的动态操作完整示例
Jan 13 Javascript
vue-router 路由传参用法实例分析
Mar 06 Javascript
JS实现简易贪吃蛇游戏
Aug 24 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
PHP学习笔记 (1) 环境配置与代码调试
2011/06/19 PHP
PHP隐形一句话后门,和ThinkPHP框架加密码程序(base64_decode)
2011/11/02 PHP
基于php+MySql实现学生信息管理系统实例
2020/08/04 PHP
JAVASCRIPT keycode总结
2009/02/04 Javascript
利用JS自动打开页面上链接的实现代码
2011/09/25 Javascript
jQuery LigerUI 使用教程表格篇(1)
2012/01/18 Javascript
js关闭模态窗口刷新父页面或跳转页面
2012/12/13 Javascript
jquery获取table中的某行全部td的内容方法
2013/03/08 Javascript
jquery和ajax的关系详细介绍
2013/11/29 Javascript
我用的一些Node.js开发工具、开发包、框架等总结
2014/09/25 Javascript
JavaScript检测弹出窗口是否已经关闭的方法
2015/03/24 Javascript
Javascript基础教程之比较null和undefined值
2016/05/16 Javascript
javascript 判断页面访问方式电脑或者移动端
2016/09/19 Javascript
基于js中的存储键值对以及注意事项介绍
2018/03/30 Javascript
vue项目中应用ueditor自定义上传按钮功能
2018/04/27 Javascript
Vue在chrome44偶现点击子元素事件无法冒泡的解决方法
2019/12/15 Javascript
JavaScript图片旋转效果实现方法详解
2020/06/28 Javascript
使用pdb模块调试Python程序实例
2015/06/02 Python
基于python 处理中文路径的终极解决方法
2018/04/12 Python
windows下python和pip安装教程
2018/05/25 Python
Sanic框架配置操作分析
2018/07/17 Python
Python多进程池 multiprocessing Pool用法示例
2018/09/07 Python
pandas实现将dataframe满足某一条件的值选出
2019/06/12 Python
python实现二分类的卡方分箱示例
2019/11/22 Python
深入浅析python的第三方库pandas
2020/02/13 Python
Python itertools.product方法代码实例
2020/03/27 Python
利用canvas实现图片下载功能来实现浏览器兼容问题
2019/05/31 HTML / CSS
网络工程师的自我评价
2013/10/02 职场文书
服装设计专业自荐书范文
2013/12/30 职场文书
大学秋游活动方案
2014/02/11 职场文书
大学第二课堂活动总结
2014/07/08 职场文书
机关领导查摆四风思想汇报
2014/09/13 职场文书
房屋所有权证明
2014/10/20 职场文书
2015年小学美术工作总结
2015/05/25 职场文书
入党积极分子培养人意见
2015/06/02 职场文书
爱心捐赠活动简讯
2015/07/20 职场文书