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 相关文章推荐
JQuery 学习笔记 选择器之六
Jul 23 Javascript
使用JavaScript脚本无法直接改变Asp.net中Checkbox控件的Enable属性的解决方法
Sep 16 Javascript
Angular2学习笔记——详解NgModule模块
Dec 02 Javascript
node.js学习之交互式解释器REPL详解
Dec 08 Javascript
详解闭包解决jQuery中AJAX的外部变量问题
Feb 22 Javascript
关于jQuery EasyUI 中刷新Tab选项卡后一个页面变形的解决方法
Mar 02 Javascript
从零开始学习Node.js系列教程六:EventEmitter发送和接收事件的方法示例
Apr 13 Javascript
vue实现全选、反选功能
Nov 17 Javascript
基于JS实现html中placeholder属性提示文字效果示例
Apr 19 Javascript
解决Vue2.0 watch对象属性变化监听不到的问题
Sep 11 Javascript
bootstrap datepicker的基本使用教程
Jul 09 Javascript
js实现无缝滚动双图切换效果
Jul 09 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
德生S2000南麂列岛台湾FM收听记录
2021/03/02 无线电
JavaScript中数组的排序、乱序和搜索实现代码
2011/11/30 Javascript
js 回车提交表单两种实现方法
2012/12/31 Javascript
JS复制到剪贴板示例代码
2013/10/30 Javascript
String.prototype实现的一些javascript函数介绍
2013/11/22 Javascript
使用Nodejs开发微信公众号后台服务实例
2014/09/03 NodeJs
javascript实现粘贴qq截图功能(clipboardData)
2016/05/29 Javascript
微信小程序上传图片到服务器实例代码
2017/11/07 Javascript
ES6中javascript实现函数绑定及类的事件绑定功能详解
2017/11/08 Javascript
jQuery 实现倒计时天,时,分,秒功能
2018/07/31 jQuery
说说如何使用Vuex进行状态管理(小结)
2019/04/14 Javascript
微信小程序-form表单提交代码实例
2019/04/29 Javascript
JavaScript面向对象核心知识与概念归纳整理
2020/05/09 Javascript
python中as用法实例分析
2015/04/30 Python
python实现TCP服务器端与客户端的方法详解
2015/04/30 Python
python append、extend与insert的区别
2016/10/13 Python
Python 中开发pattern的string模板(template) 实例详解
2017/04/01 Python
python版DDOS攻击脚本
2019/06/12 Python
python ImageDraw类实现几何图形的绘制与文字的绘制
2020/02/26 Python
python自动从arxiv下载paper的示例代码
2020/12/05 Python
python绘图pyecharts+pandas的使用详解
2020/12/13 Python
微软开源最强Python自动化神器Playwright(不用写一行代码)
2021/01/05 Python
python模块内置属性概念及实例
2021/02/18 Python
使用CSS3的::selection改变选中文本颜色的方法
2015/09/29 HTML / CSS
全球酒店预订网站:Hotels.com
2016/08/10 全球购物
山海经纬软件测试笔试题和面试题
2013/04/02 面试题
连锁经营管理专业大学生求职信
2013/10/30 职场文书
大学生家政服务项目创业计划书
2014/01/30 职场文书
幼儿园元旦亲子活动方案
2014/02/17 职场文书
保卫钓鱼岛口号
2014/06/20 职场文书
人身损害赔偿协议书格式
2014/11/01 职场文书
施工安全保证书
2015/05/09 职场文书
2015年客房服务员工作总结
2015/05/15 职场文书
react合成事件与原生事件的相关理解
2021/05/13 Javascript
原生JS实现飞机大战小游戏
2021/06/09 Javascript
Python查找算法的实现 (线性、二分,分块、插值查找算法)
2022/04/24 Python