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 XML操作 封装类
Jul 01 Javascript
jquery实现的鼠标下拉滚动置顶效果
Jul 24 Javascript
浅析javascript的间隔调用和延时调用
Nov 12 Javascript
简述Jquery与DOM对象
Jul 10 Javascript
JavaScript获取当前运行脚本文件所在目录的方法
Feb 03 Javascript
JS组件Bootstrap dropdown组件扩展hover事件
Apr 17 Javascript
jQuery解析与处理服务器端返回xml格式数据的方法详解
Jul 04 Javascript
JS实现搜索框文字可删除功能
Dec 28 Javascript
Angular.js前台传list数组由后台spring MVC接收数组示例代码
Jul 31 Javascript
js定时器+简单的动画效果实例
Nov 10 Javascript
微信小程序基于高德地图查找位置并显示文字
Oct 30 Javascript
一文彻底理解js原生语法prototype,__proto__和constructor
Oct 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
虫族 ZERG 概述
2020/03/14 星际争霸
php面向对象全攻略 (四)构造方法与析构方法
2009/09/30 PHP
php中文乱码怎么办如何让浏览器自动识别utf-8
2014/01/15 PHP
PHP实现微信小程序用户授权的工具类示例
2019/03/05 PHP
Js之软键盘实现(js源码)
2007/01/30 Javascript
关于Aptana Studio生成自动备份文件的解决办法
2009/12/23 Javascript
JavaScript开发规范要求(规范化代码)
2010/08/16 Javascript
jQuery .tmpl(), .template()学习资料小结
2011/07/18 Javascript
JavaScript取得鼠标绝对位置程序代码介绍
2012/09/16 Javascript
点击按钮或链接不跳转只刷新页面的脚本整理
2013/10/22 Javascript
什么是cookie?js手动创建和存储cookie
2014/05/27 Javascript
jQuery实现转动随机数抽奖效果的方法
2015/05/21 Javascript
javascript表单事件处理方法详解
2016/05/15 Javascript
JS for循环中i++ 和 ++i的区别介绍
2016/07/20 Javascript
javascript iframe跨域详解
2016/10/26 Javascript
详解javascript立即执行函数表达式IIFE
2017/02/13 Javascript
jQuery事件详解
2017/02/23 Javascript
Bootstrap下拉菜单更改为悬停(hover)触发的方法
2017/05/24 Javascript
JavaScript订单操作小程序完整版
2017/06/23 Javascript
原生js实现移动端触摸轮播的示例代码
2017/12/22 Javascript
详解VUE 对element-ui中的ElTableColumn扩展
2018/03/28 Javascript
js微信分享接口调用详解
2019/07/23 Javascript
vue实现点击按钮切换背景颜色的示例代码
2020/06/23 Javascript
[02:44]2014DOTA2 国际邀请赛中国区预选赛 大神红毯秀
2014/05/25 DOTA
python之import机制详解
2014/07/03 Python
python使用calendar输出指定年份全年日历的方法
2015/04/04 Python
Python内置函数OCT详解
2016/11/09 Python
使用python实现回文数的四种方法小结
2019/11/24 Python
python实现FTP文件传输的方法(服务器端和客户端)
2020/03/20 Python
美国网上鞋子零售商:Dr. Scholl’s Shoes
2017/11/17 全球购物
我的applet原先好好的, 一放到web server就会有问题,为什么?
2016/05/10 面试题
计算机专业大学生的自我评价
2013/11/14 职场文书
大学生职业生涯规划书汇总
2014/03/20 职场文书
四风问题自我剖析材料
2014/10/07 职场文书
MySQL空间数据存储及函数
2021/09/25 MySQL
Vue组件更新数据v-model不生效的解决
2022/04/02 Vue.js