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 操作select下拉列表框的一点小经验
Mar 20 Javascript
jquery、js调用iframe父窗口与子窗口元素的方法整理
Jul 31 Javascript
使用AmplifyJS组件配合JavaScript进行编程的指南
Jul 28 Javascript
jQuery+ajax+asp.net获取Json值的方法
Jun 08 Javascript
jQuery实现Select左右复制移动内容
Aug 05 Javascript
浅谈js的ajax的异步和同步请求的问题
Oct 07 Javascript
jQuery使用JSONP实现跨域获取数据的三种方法详解
May 04 jQuery
BootStrap中的Fontawesome 图标
May 25 Javascript
js遍历添加栏目类添加css 再点击其它删除css【推荐】
Jun 12 Javascript
js中事件对象和事件委托的介绍
Jan 21 Javascript
JavaScript创建、读取和删除cookie
Sep 03 Javascript
node后端服务保活的实现
Nov 10 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
提问的智慧
2006/10/09 PHP
实现php加速的eAccelerator dll支持文件打包下载
2007/09/30 PHP
php使用pdo连接报错Connection failed SQLSTATE的解决方法
2014/12/15 PHP
Smarty中的注释和截断功能介绍
2015/04/09 PHP
利用PHP自动生成印有用户信息的名片
2016/08/01 PHP
jquery中dom操作和事件的实例学习 下拉框应用
2011/12/01 Javascript
jquery+json实现数据列表分页示例代码
2013/11/15 Javascript
JS随机漂浮广告代码具体实例
2013/11/19 Javascript
jQuery选择器源码解读(四):tokenize方法的Expr.preFilter
2015/03/31 Javascript
使用Jquery实现每日签到功能
2015/04/03 Javascript
AngularGauge 属性解析详解
2016/09/06 Javascript
JavaScript 详解预编译原理
2017/01/22 Javascript
JavaScript中Promise的使用详解
2017/02/26 Javascript
jquery.uploadView 实现图片预览上传功能
2017/08/10 jQuery
浅谈在fetch方法中添加header后遇到的预检请求问题
2017/08/31 Javascript
使用JS和canvas实现gif动图的停止和播放代码
2017/09/01 Javascript
vue-cli3中vue.config.js配置教程详解
2019/05/29 Javascript
利用不到200行代码写一款属于你自己的js类库
2019/07/08 Javascript
浅谈JavaScript节流和防抖函数
2020/08/25 Javascript
[01:20:37]FNATIC vs NIP 2019国际邀请赛小组赛 BO2 第一场 8.16
2019/08/19 DOTA
[51:20]完美世界DOTA2联赛PWL S2 Magma vs PXG 第一场 11.28
2020/12/01 DOTA
python基础教程之类class定义使用方法
2014/02/20 Python
使用Python保存网页上的图片或者保存页面为截图
2016/03/05 Python
Python使用Beautiful Soup爬取豆瓣音乐排行榜过程解析
2019/08/15 Python
pytorch 使用单个GPU与多个GPU进行训练与测试的方法
2019/08/19 Python
Django restframework 框架认证、权限、限流用法示例
2019/12/21 Python
使用Python制作缩放自如的圣诞老人(圣诞树)
2019/12/25 Python
pytorch 计算Parameter和FLOP的操作
2021/03/04 Python
新加坡网上花店:FlowerAdvisor新加坡
2018/10/05 全球购物
French Connection官网:女装、男装及家居用品
2019/03/18 全球购物
大学生工作推荐信范文
2013/12/02 职场文书
新学期家长寄语
2014/01/19 职场文书
优秀幼教自荐信
2014/02/03 职场文书
演讲稿格式范文
2014/05/19 职场文书
质检员工作总结2015
2015/04/25 职场文书
JS实现刷新网页后之前浏览位置保持不变示例详解
2022/08/14 Javascript