javascript获取元素CSS样式代码示例


Posted in Javascript onNovember 28, 2013

使用css控制页面有4种方式,分别为行内样式(内联样式)、内嵌式、链接式、导入式。

行内样式(内联样式)即写在html标签中的style属性中,如<div style="width:100px;height:100px;"></div>

内嵌样式即写在style标签中,例如<style type="text/css">div{width:100px; height:100px}</style>

链接式即为用link标签引入css文件,例如<link href="test.css" type="text/css" rel="stylesheet" />

导入式即为用import引入css文件,例如@import url("test.css")

如果想用javascript获取一个元素的样式信息,首先想到的应该是元素的style属性。但是元素的style属性仅仅代表了元素的内联样式,如果一个元素的部分样式信息写在内联样式中,一部分写在外部的css文件中,通过style属性是不能获取到元素的完整样式信息的。因此,需要使用元素的计算样式才获取元素的样式信息。

用window对象的getComputedStyle方法来获取一个元素的计算样式,此方法有2个参数,第一个参数为要获取计算样式的元素,第二个参数可以是null、空字符串、伪类(如:before,:after),这两个参数都是必需的。

来个例子

<style type="text/css">

#testDiv{

border:1px solid red;

width: 100px;

height: 100px;

color: red;

}

</style>

<div id="testDiv"></div>

var testDiv = document.getElementById("testDiv");

var computedStyle = window.getComputedStyle(testDiv, "");

var width = computedStyle.width;

//100px

var height = computedStyle.height;

//100px

var color = computedStyle.color;

//rgb(255, 0, 0)
[/code]

注:获取到的颜色属性都是以rgb(#,#,#)格式返回的。

这个时候如果用testDiv.style来获取样式信息,如testDiv.style.width肯定是为空的。

 

getComputedStyle方法在IE8以及更早的版本中没有实现,但是IE中每个元素有自己的currentStyle属性。

so,来个通用的

var testDiv = document.getElementById("testDiv");
var styleInfo = window.getComputedStyle ? window.getComputedStyle(testDiv, "") : testDiv.currentStyle;
var width = styleInfo.width;
//100px;
var height = styleInfo.height;
//100px;
var color = styleInfo.color;
// rgb(255, 0, 0)

 

最后要注意一点,元素的计算样式是只读的,如果想设置元素样式,还得用元素的style属性(这个才是元素style属性的真正用途所在)。

Javascript 相关文章推荐
用javascript实现自定义标签
May 08 Javascript
jQuery点击后一组图片左右滑动的实现代码
Aug 16 Javascript
js实现点击链接后窗口缩小并居中的方法
Mar 02 Javascript
Javascript实现获取及设置光标位置的方法
Jul 21 Javascript
ES6教程之for循环和Map,Set用法分析
Apr 10 Javascript
防止页面url缓存中ajax中post请求的处理方法
Oct 10 Javascript
js实现一个简单的MVVM框架示例
Jan 15 Javascript
把vue-router和express项目部署到服务器的方法
Feb 21 Javascript
vue+element实现表格新增、编辑、删除功能
May 28 Javascript
javascript系统时间设置操作示例
Jun 17 Javascript
mpvue 页面预加载新增preLoad生命周期的两种方式
Oct 17 Javascript
JavaScript设计模式之策略模式实现原理详解
May 29 Javascript
浅析JavaScript中的CSS属性及命名规范
Nov 28 #Javascript
JavaScript中的连字符详解
Nov 28 #Javascript
Google (Local) Search API的简单使用介绍
Nov 28 #Javascript
jquery实现弹出窗口效果的实例代码
Nov 28 #Javascript
asm.js使用示例代码
Nov 28 #Javascript
jquery实现动态菜单的实例代码
Nov 28 #Javascript
JavaScript中的常见问题解决方法(乱码,IE缓存,代理)
Nov 28 #Javascript
You might like
PHP获取文件后缀名的三个函数
2012/10/15 PHP
PHP实现字符串翻转功能的方法【递归与循环算法】
2017/11/03 PHP
thinkPHP框架乐观锁和悲观锁实例分析
2019/10/30 PHP
实现连缀调用的map方法(prototype)
2009/08/05 Javascript
基于jQuery的弹出消息插件 DivAlert之旅(一)
2010/04/01 Javascript
jquery批量设置属性readonly和disabled的方法
2014/01/24 Javascript
原生javascript实现无间缝滚动示例
2014/01/28 Javascript
JS小游戏之宇宙战机源码详解
2014/09/25 Javascript
基于Bootstrap使用jQuery实现输入框组input-group的添加与删除
2016/05/03 Javascript
Nodejs全局安装和本地安装的不同之处
2016/07/04 NodeJs
AngularJS入门教程之更多模板详解
2016/08/19 Javascript
react实现菜单权限控制的方法
2017/12/11 Javascript
详解vue-cli之webpack3构建全面提速优化
2017/12/25 Javascript
AngularJS模态框模板ngDialog的使用详解
2018/05/11 Javascript
vue 实现数字滚动增加效果的实例代码
2018/07/06 Javascript
vue移动端实现红包雨效果
2020/06/23 Javascript
js jquery 获取某一元素到浏览器顶端的距离实现方法
2018/09/05 jQuery
Vue-axios-post数据后端接不到问题解决
2020/01/09 Javascript
通过数据库对Django进行删除字段和删除模型的操作
2015/07/21 Python
深入解析Python设计模式编程中建造者模式的使用
2016/03/02 Python
django admin添加数据自动记录user到表中的实现方法
2018/01/05 Python
python 基本数据类型占用内存空间大小的实例
2018/06/12 Python
Python模拟简单电梯调度算法示例
2018/08/20 Python
分享一个pycharm专业版安装的永久使用方法
2019/09/24 Python
python中利用matplotlib读取灰度图的例子
2019/12/07 Python
python DataFrame转dict字典过程详解
2019/12/26 Python
聊聊python中的异常嵌套
2020/09/01 Python
python 匿名函数与三元运算学习笔记
2020/10/23 Python
Python实现异步IO的示例
2020/11/05 Python
米兰必去买手店排行榜首位:Antonioli
2016/09/11 全球购物
P D PAOLA法国官网:西班牙著名的珠宝首饰品牌
2020/02/15 全球购物
优秀学生自我鉴定范例
2013/12/18 职场文书
领导干部群众路线教育实践活动剖析材料
2014/10/10 职场文书
中班下学期个人工作总结
2015/02/12 职场文书
幼儿园教师心得体会范文
2016/01/21 职场文书
基于Redis zSet实现滑动窗口对短信进行防刷限流的问题
2022/02/12 Redis