利用原生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 相关文章推荐
向fckeditor编辑器插入指定代码的方法
May 25 Javascript
JavaScript写的一个自定义弹出式对话框代码
Jan 17 Javascript
jquery获取选中的文本和值的方法
Jul 08 Javascript
js和jquery如何获取图片真实的宽度和高度
Sep 28 Javascript
jQuery中slideUp()方法用法分析
Dec 24 Javascript
JQuery选择器、过滤器大整理
May 26 Javascript
JS获取鼠标相对位置的方法
Sep 20 Javascript
微信小程序slider组件使用详解
Jan 31 Javascript
Vue底层实现原理总结
Feb 17 Javascript
vue中设置height:100%无效的问题及解决方法
Jul 27 Javascript
vue实现压缩图片预览并上传功能(promise封装)
Jan 10 Javascript
解决layui动态添加的元素click等事件触发不了的问题
Sep 20 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安全配置
2006/10/09 PHP
ThinkPHP无限级分类原理实现留言与回复功能实例
2014/10/31 PHP
php将html转成wml的WAP标记语言实例
2015/07/08 PHP
如何实现php图片等比例缩放
2015/07/28 PHP
php文件上传后端处理小技巧
2016/05/22 PHP
PHP仿qq空间或朋友圈发布动态、评论动态、回复评论、删除动态或评论的功能(上)
2017/05/26 PHP
在PHP中输出JS语句以及乱码问题的解决方案
2019/02/13 PHP
php写入txt乱码的解决方法
2019/09/17 PHP
PHP实现递归的三种方法
2020/07/04 PHP
PHP7 list() 函数修改
2021/03/09 PHP
javascript HTMLEncode HTMLDecode的完整实例(兼容ie和火狐)
2009/06/02 Javascript
jquery实现的用户注册表单提示操作效果代码分享
2015/08/28 Javascript
详解JavaScript中常用的函数类型
2015/11/18 Javascript
jQuery获得字体颜色16位码的方法
2016/02/20 Javascript
JavaScript关于提高网站性能的几点建议(一)
2016/07/24 Javascript
JS声明式函数与赋值式函数实例分析
2016/12/13 Javascript
js点击任意区域弹出层消失实现代码
2016/12/27 Javascript
AngularJS获取json数据的方法详解
2017/05/27 Javascript
JS中将多个逗号替换为一个逗号的实现代码
2017/06/23 Javascript
Vim快速合并行及vim 将文件所有行合并到一行
2017/11/27 Javascript
[44:58]2018DOTA2亚洲邀请赛 4.5 淘汰赛 LGD vs Liquid 第二场
2018/04/06 DOTA
[01:02:32]DOTA2-DPC中国联赛 正赛 iG vs PSG.LGD BO3 第二场 2月26日
2021/03/11 DOTA
python 获取et和excel的版本号
2009/04/09 Python
Python 文件和输入输出小结
2013/10/09 Python
Python使用MYSQLDB实现从数据库中导出XML文件的方法
2015/05/11 Python
Window系统下Python如何安装OpenCV库
2020/03/05 Python
Python csv文件记录流程代码解析
2020/07/16 Python
HTML5之SVG 2D入门7—SVG元素的重用与引用
2013/01/30 HTML / CSS
韩国现代百货官网:Hmall
2018/03/21 全球购物
Oracle里面常用的数据字典有哪些
2014/02/14 面试题
python+selenium小米商城红米K40手机自动抢购的示例代码
2021/03/24 Python
机电一体化大学生求职信
2013/11/08 职场文书
企业内控岗位的职责
2014/02/07 职场文书
剪枝的学问教学反思
2014/02/07 职场文书
离职证明标准格式
2014/09/15 职场文书
PYTHON基于Pyecharts绘制常见的直角坐标系图表
2022/04/28 Python