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图片阅览组件
Nov 09 Javascript
js为鼠标添加右击事件防止默认的右击菜单弹出
Jul 29 Javascript
Javascript执行效率全面总结
Nov 04 Javascript
文本框(input)获取焦点(onfocus)时样式改变的示例代码
Jan 10 Javascript
js去除浏览器默认底图的方法
Jun 08 Javascript
JavaScript中的setUTCDate()方法使用详解
Jun 11 Javascript
Underscore源码分析
Dec 30 Javascript
详解JavaScript中的自定义事件编写
May 10 Javascript
AngularJS国际化详解及示例代码
Aug 18 Javascript
vue2.X组件学习心得(新手必看篇)
Jul 05 Javascript
JavaScript正则表达式的贪婪匹配和非贪婪匹配
Sep 05 Javascript
jQuery实现新闻播报滚动及淡入淡出效果示例
Mar 23 jQuery
浅析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通过session id 实现session共享和登录验证的代码
2012/06/03 PHP
浅谈php中include文件变量作用域
2015/06/18 PHP
php文件上传类完整实例
2016/05/14 PHP
showModelessDialog()使用详解
2006/09/07 Javascript
网页禁用右键实现代码(JavaScript代码)
2009/10/29 Javascript
Jquery 获取表单text,areatext,radio,checkbox,select值的代码
2009/11/12 Javascript
Jquery常用技巧收集整理篇
2010/11/14 Javascript
jQuery提交表单ajax查询实例代码
2012/10/07 Javascript
jQuery方法简洁实现隔行换色及toggleClass的使用
2013/03/15 Javascript
javascript实现修改微信分享的标题内容等
2014/12/11 Javascript
JavaScript实现字符串与日期的互相转换及日期的格式化
2016/03/07 Javascript
JavaScript制作弹出层效果
2016/12/02 Javascript
Javascript 实现计算器时间功能详解及实例(二)
2017/01/08 Javascript
javascript+html5+css3自定义提示窗口
2017/06/21 Javascript
AngularJS中table表格基本操作示例
2017/10/10 Javascript
element 结合vue 在表单验证时有值却提示错误的解决办法
2018/01/22 Javascript
node crawler如何添加promise支持
2020/02/01 Javascript
jQuery 图片查看器插件 Viewer.js用法简单示例
2020/04/04 jQuery
使用js原生实现年份轮播选择效果实例
2021/01/12 Javascript
使用rpclib进行Python网络编程时的注释问题
2015/05/06 Python
请不要重复犯我在学习Python和Linux系统上的错误
2016/12/12 Python
图解Python变量与赋值
2018/04/03 Python
python http基本验证方法
2018/12/26 Python
python实现最大优先队列
2019/08/29 Python
python opencv将表格图片按照表格框线分割和识别
2019/10/30 Python
python cv2读取rtsp实时码流按时生成连续视频文件方式
2019/12/25 Python
Python数据正态性检验实现过程
2020/04/18 Python
使用Python防止SQL注入攻击的实现示例
2020/05/21 Python
详解python方法之绑定方法与非绑定方法
2020/08/17 Python
英国潮流网站:END.(全球免邮)
2017/01/16 全球购物
美国在线乐器和设备商店:Musician’s Friend
2018/07/06 全球购物
be2台湾单身男女交友:全球网路婚姻介绍的领导品牌
2019/10/11 全球购物
奖学金自我鉴定范文
2013/10/03 职场文书
结婚堵门保证书
2015/05/08 职场文书
文明医院的标语集锦!
2019/07/24 职场文书
gateway与spring-boot-starter-web冲突问题的解决
2021/07/16 Java/Android