利用原生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 相关文章推荐
Apply an AutoFormat to an Excel Spreadsheet
Jun 12 Javascript
基于JavaScript 类的使用详解
May 07 Javascript
jQuery异步上传文件插件ajaxFileUpload详细介绍
May 19 Javascript
一道常被人轻视的web前端常见面试题(JS)
Feb 15 Javascript
jQuery实现的仿百度,仿谷歌搜索下拉框效果示例
Dec 30 Javascript
详解基于angular-cli配置代理解决跨域请求问题
Jul 05 Javascript
微信小程序支付及退款流程详解
Nov 30 Javascript
使用Vue组件实现一个简单弹窗效果
Apr 23 Javascript
使用mixins实现elementUI表单全局验证的解决方法
Apr 02 Javascript
浅谈 Webpack 如何处理图片(开发、打包、优化)
May 15 Javascript
Vue路由之JWT身份认证的实现方法
Aug 26 Javascript
vue3.0中setup使用(两种用法)
Dec 02 Vue.js
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
解析posix与perl标准的正则表达式区别
2013/06/17 PHP
关于PHP模板Smarty的初级使用方法以及心得分享
2013/06/21 PHP
ThinkPHP中公共函数路径和配置项路径的映射分析
2014/11/22 PHP
PHP实现补齐关闭的HTML标签
2016/03/22 PHP
Yii2 RESTful中api的使用及开发实例详解
2016/07/06 PHP
PHP的mysqli_select_db()函数讲解
2019/01/23 PHP
javascript[js]获取url参数的代码
2007/10/17 Javascript
Javascript模拟加速运动与减速运动代码分享
2014/12/11 Javascript
javascript检查浏览器是否已经启用XX功能
2015/07/10 Javascript
js绘制圆形和矩形的方法
2015/08/05 Javascript
微信小程序 textarea 详解及简单使用方法
2016/12/05 Javascript
js+canvas实现动态吃豆人效果
2017/03/22 Javascript
jQuery中$原理实例分析
2018/08/13 jQuery
解决vue点击控制单个样式的问题
2018/09/05 Javascript
Vue实现商品详情页的评价列表功能
2019/09/04 Javascript
Jquery 动态添加元素并添加点击事件实现过程解析
2019/10/12 jQuery
vue 解决data中定义图片相对路径页面不显示的问题
2020/08/13 Javascript
使用python装饰器计算函数运行时间的实例
2018/04/21 Python
Python基于多线程实现ping扫描功能示例
2018/07/23 Python
使用python制作一个为hex文件增加版本号的脚本实例
2019/06/12 Python
使用python进行波形及频谱绘制的方法
2019/06/17 Python
python 利用turtle库绘制笑脸和哭脸的例子
2019/11/23 Python
tensorflow实现读取模型中保存的值 tf.train.NewCheckpointReader
2020/02/10 Python
python怎么判断素数
2020/07/01 Python
利用CSS3的线性渐变linear-gradient制作边框的示例
2016/06/02 HTML / CSS
保加利亚服装和鞋类购物网站:Bibloo.bg
2020/11/08 全球购物
商务日语毕业生自荐信范文
2013/11/14 职场文书
车间操作工岗位职责
2013/12/19 职场文书
自我反省检讨书
2014/01/23 职场文书
自动一体化专业求职信
2014/03/15 职场文书
村主任群众路线个人对照检查材料
2014/09/26 职场文书
办公室禁烟通知
2015/04/23 职场文书
亮剑观后感300字
2015/06/05 职场文书
单身证明范本
2015/06/15 职场文书
就业指导讲座心得体会
2016/01/15 职场文书
浅谈node.js中间件有哪些类型
2021/04/29 Javascript