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中通过闭包解决只能取得包含函数中任何变量最后一个值的问题
Aug 12 Javascript
JS拖动技术 关于setCapture使用
Dec 09 Javascript
根据配置文件加载js依赖模块
Dec 29 Javascript
jquery中radio checked问题
Mar 16 Javascript
js实现跨域的几种方法汇总(图片ping、JSONP和CORS)
Oct 25 Javascript
jquery+CSS3实现3D拖拽相册效果
Jul 18 Javascript
深入浅出 jQuery中的事件机制
Aug 23 Javascript
JS库 Highlightjs 添加代码行号的实现代码
Sep 13 Javascript
详解Vue开发微信H5微信分享签名失败问题解决方案
Aug 09 Javascript
原生js实现的移动端可拖动进度条插件功能详解
Aug 15 Javascript
微信小程序webSocket的使用方法
Feb 20 Javascript
JS中==、===你分清楚了吗
Mar 04 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中文本操作的类
2007/03/17 PHP
利用PHP实现短域名互转
2013/07/05 PHP
php处理单文件、多文件上传代码分享
2016/08/24 PHP
LaravelS通过Swoole加速Laravel/Lumen详解
2018/03/02 PHP
js checkbox(复选框) 使用集锦
2009/04/28 Javascript
基于jquery的实现简单的表格中增加或删除下一行
2010/08/01 Javascript
javascript的push使用指南
2014/12/05 Javascript
js实现支持手机滑动切换的轮播图片效果实例
2015/04/29 Javascript
jquery实现多屏多图焦点图切换特效的方法
2015/05/04 Javascript
js实现网站最上边可关闭的浮动广告条代码
2015/09/04 Javascript
JS动态添加iframe的代码
2015/09/14 Javascript
JQuery标签页效果实例详解
2015/12/24 Javascript
前端框架Vue.js构建大型应用浅析
2016/09/12 Javascript
关于List.ToArray()方法的效率测试
2016/09/30 Javascript
微信公众平台获取access_token的方法步骤
2019/03/29 Javascript
发布订阅模式在vue中的实际运用实例详解
2019/06/09 Javascript
layui多图上传实现删除功能的例子
2019/09/23 Javascript
node.js中stream流中可读流和可写流的实现与使用方法实例分析
2020/02/13 Javascript
react 不用插件实现数字滚动的效果示例
2020/04/14 Javascript
Python中的并发编程实例
2014/07/07 Python
python实现随机森林random forest的原理及方法
2017/12/21 Python
Python_查看sqlite3表结构,查询语句的示例代码
2019/07/17 Python
详解python安装matplotlib库三种失败情况
2020/07/28 Python
Python做图像处理及视频音频文件分离和合成功能
2020/11/24 Python
python绕过图片滑动验证码实现爬取PTA所有题目功能 附源码
2021/01/06 Python
Python 里最强的地图绘制神器
2021/03/01 Python
Europcar意大利:汽车租赁
2019/07/07 全球购物
法拉利英国精品店:Ferraris Boutique UK
2019/07/20 全球购物
英国第一的滑雪服装和装备零售商:Snow+Rock
2020/02/01 全球购物
马歇尔耳机官网:Marshall Headphones
2020/02/04 全球购物
标准毕业生自荐信
2014/06/24 职场文书
领导干部个人整改措施落实情况汇报
2014/10/29 职场文书
农村婚礼司仪主持词
2015/06/29 职场文书
python实现过滤敏感词
2021/05/08 Python
TensorFlow的自动求导原理分析
2021/05/26 Python
使用Spring处理x-www-form-urlencoded方式
2021/11/02 Java/Android