利用原生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 相关文章推荐
Jqyery中同等与js中windows.onload的应用
May 10 Javascript
Jquery实现显示和隐藏的4种简单方式
Aug 28 Javascript
JavaScript设计模式之原型模式(Object.create与prototype)介绍
Dec 28 Javascript
JavaScript实现跑马灯抽奖活动实例代码解析与优化(一)
Feb 16 Javascript
JS判断是否长按某一键的方法
Mar 02 Javascript
网页中JS函数自动执行常用三种方法
Mar 30 Javascript
利用node.js如何搭建一个简易的即时响应服务器
May 28 Javascript
微信禁止下拉查看URL的处理方法
Sep 28 Javascript
详解使用Typescript开发node.js项目(简单的环境配置)
Oct 09 Javascript
你准备好迎接vue3.0了吗
Apr 28 Javascript
Vue按时间段查询数据组件使用详解
Aug 21 Javascript
vue实现倒计时功能
Mar 24 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
咖啡风味 世界咖啡主要分布分布 咖啡的生长要求
2021/03/06 新手入门
使用php get_headers 判断URL是否有效的解决办法
2013/04/27 PHP
使用正则去除php代码中的注释方法
2016/11/03 PHP
判断字符串的长度(优化版)中文占两个字符
2014/10/30 Javascript
JavaScript中数组添加值和访问值常见问题
2016/02/06 Javascript
JavaScript中实现无缝滚动、分享到侧边栏实例代码
2016/04/06 Javascript
BootStrap 智能表单实战系列(二)BootStrap支持的类型简介
2016/06/13 Javascript
jQuery简单实现title提示效果示例
2016/08/01 Javascript
js判断文件格式及大小的简单实例(必看)
2016/10/11 Javascript
JavaScript reduce和reduceRight详解
2016/10/24 Javascript
微信小程序开发实战教程之手势解锁
2016/11/18 Javascript
Vue制作Todo List网页
2017/04/26 Javascript
Node.js 实现简单的接口服务器的实例代码
2017/05/23 Javascript
微信小程序自定义导航隐藏和显示功能
2017/06/13 Javascript
在页面中引入js的两种方法(推荐)
2017/08/29 Javascript
深入理解ES6之数据解构的用法
2018/01/13 Javascript
vue.js实现双击放大预览功能
2020/06/23 Javascript
python同时给两个收件人发送邮件的方法
2015/04/30 Python
Python制作简易注册登录系统
2016/12/15 Python
python中子类调用父类函数的方法示例
2017/08/18 Python
pip安装py_zipkin时提示的SSL问题对应
2018/12/29 Python
python将控制台输出保存至文件的方法
2019/01/07 Python
Python常见的pandas用法demo示例
2019/03/16 Python
Python高级特性 切片 迭代解析
2019/08/23 Python
Python SMTP配置参数并发送邮件
2020/06/16 Python
工商企业管理实习自我鉴定
2013/12/04 职场文书
函授本科自我鉴定
2014/02/04 职场文书
大学生求职工作的自我评价
2014/02/13 职场文书
舞蹈兴趣小组活动总结
2014/07/07 职场文书
领导班子党的群众路线对照检查材料
2014/09/25 职场文书
湖南省党的群众路线教育实践活动总结会议新闻稿
2014/10/21 职场文书
违反学校规则制度检讨书
2015/01/01 职场文书
2015年班组建设工作总结
2015/05/13 职场文书
红色经典观后感
2015/06/18 职场文书
高中英语教学反思范文
2016/03/02 职场文书
Python+Appium自动化测试的实战
2021/06/30 Python