利用原生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 相关文章推荐
在js中使用&quot;with&quot;语句中跨frame的变量引用问题
Mar 08 Javascript
javascript 面向对象编程基础:封装
Aug 21 Javascript
JavaScript调用ajax获取文本文件内容实现代码
Mar 28 Javascript
AngularJS 使用 UI Router 实现表单向导
Jan 29 Javascript
Hammer.js+轮播原理实现简洁的滑屏功能
Feb 02 Javascript
js友好的时间返回函数
Aug 24 Javascript
Vue.js学习之计算属性
Jan 22 Javascript
手写Node静态资源服务器的实现方法
Mar 20 Javascript
axios对请求各种异常情况处理的封装方法
Sep 25 Javascript
Vue CLI3.0中使用jQuery和Bootstrap的方法
Feb 28 jQuery
手机浏览器唤起微信分享(JS)
Oct 11 Javascript
基于JavaScript实现轮播图效果
Jan 02 Javascript
javascript学习笔记(八)正则表达式
Oct 08 #Javascript
javascript学习笔记(七)Ajax和Http状态码
Oct 08 #Javascript
javascript学习笔记(六)数据类型和JSON格式
Oct 08 #Javascript
javascript学习笔记(五)原型和原型链详解
Oct 08 #Javascript
JavaScript中获取高度和宽度函数总结
Oct 08 #Javascript
5个可以帮你理解JavaScript核心闭包和作用域的小例子
Oct 08 #Javascript
JavaScript中获取样式的原生方法小结
Oct 08 #Javascript
You might like
PHP中的生成XML文件的4种方法分享
2012/10/06 PHP
微信支付开发订单查询实例
2016/07/12 PHP
PHP 实现人民币小写转换成大写的方法及大小写转换函数
2017/11/17 PHP
Prototype RegExp对象 学习
2009/07/19 Javascript
JQuery与JSon实现的无刷新分页代码
2011/09/13 Javascript
jQuery中对未来的元素绑定事件用bind、live or on
2014/04/17 Javascript
js获取浏览器基本信息大全
2014/11/27 Javascript
JS组件Bootstrap Table使用实例分享
2016/05/30 Javascript
jQuery仿京东商城楼梯式导航定位菜单
2016/07/25 Javascript
knockoutjs动态加载外部的file作为component中的template数据源的实现方法
2016/09/01 Javascript
vue.js表格组件开发的实例详解
2016/10/12 Javascript
JS函数节流和函数防抖问题分析
2017/12/18 Javascript
Vue 项目代理设置的优化
2018/04/17 Javascript
详解如何从零开始搭建Express+Vue开发环境
2018/07/17 Javascript
vue实现日历备忘录功能
2020/09/24 Javascript
Javascript模拟实现new原理解析
2020/03/03 Javascript
基于JavaScript实现表格隔行换色
2020/05/08 Javascript
vue使用exif获取图片旋转,压缩的示例代码
2020/12/11 Vue.js
Python写的英文字符大小写转换代码示例
2015/03/06 Python
仅用50行代码实现一个Python编写的计算器的教程
2015/04/17 Python
Python安装第三方库的3种方法
2015/06/21 Python
对python使用http、https代理的实例讲解
2018/05/07 Python
快速解决pyqt5窗体关闭后子线程不同时退出的问题
2019/06/19 Python
python垃圾回收机制(GC)原理解析
2019/12/30 Python
Python代码注释规范代码实例解析
2020/08/14 Python
python 如何利用argparse解析命令行参数
2020/09/11 Python
经济管理专业自荐信
2013/12/30 职场文书
cf收人广告词大全
2014/03/14 职场文书
保护环境标语
2014/06/09 职场文书
教师优秀党员事迹材料
2014/08/14 职场文书
公司离职证明范本(5篇)
2014/09/17 职场文书
年会邀请函范文
2015/01/30 职场文书
工作时间调整通知
2015/04/24 职场文书
2016教师读书思廉心得体会
2016/01/23 职场文书
珍惜时间的诗歌赏析
2019/08/23 职场文书
使用CSS实现音波加载效果
2023/05/07 HTML / CSS