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 相关文章推荐
使用Json比用string返回数据更友好,也更面向对象一些
Sep 13 Javascript
多个表单中如何获得这个文件上传的网址实现js代码
Mar 25 Javascript
复选框全选与全不选操作实现思路
Aug 18 Javascript
详谈LABJS按需动态加载js文件
May 07 Javascript
jQuery网页选项卡插件rTabs用法实例分析
Aug 26 Javascript
JS获取时间的相关函数及时间戳与时间日期之间的转换
Feb 04 Javascript
javascript冒泡排序小结
Apr 10 Javascript
自定义vue组件发布到npm的方法
May 09 Javascript
微信小程序模板消息限制实现无限制主动推送的示例代码
Aug 27 Javascript
浅谈关于vue中scss公用的解决方案
Dec 02 Javascript
详解搭建一个vue-cli的移动端H5开发模板
Jan 17 Javascript
详解Vue.js3.0 组件是如何渲染为DOM的
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
使用 PHPMAILER 发送邮件实例应用
2012/11/07 PHP
基于php常用正则表达式的整理汇总
2013/06/08 PHP
深入解析PHP垃圾回收机制对内存泄露的处理
2013/06/14 PHP
PHP实现批量检测网站是否能够正常打开的方法
2016/08/23 PHP
PHP异常处理定义与使用方法分析
2017/07/25 PHP
Yii2.0框架behaviors方法使用实例分析
2019/09/30 PHP
最短的javascript:地址栏载入脚本代码
2011/10/13 Javascript
Extjs优化(一)删除冗余代码提高运行速度
2013/04/15 Javascript
基于jQuery Tipso插件实现消息提示框特效
2016/03/16 Javascript
AngularJs 60分钟入门基础教程
2016/04/03 Javascript
利用Bootstrap实现表格复选框checkbox全选
2016/12/21 Javascript
网页中右键功能的实现方法之contextMenu的使用
2017/02/20 Javascript
nodejs操作mongodb的增删改查功能实例
2017/11/09 NodeJs
vue3.0 CLI - 2.2 - 组件 home.vue 的初步改造
2018/09/14 Javascript
微信小程序实现搜索历史功能
2020/03/26 Javascript
如何在vue-cli中使用css-loader实现css module
2021/01/07 Vue.js
python翻译软件实现代码(使用google api完成)
2013/11/26 Python
python实现根据ip地址反向查找主机名称的方法
2015/04/29 Python
django+xadmin+djcelery实现后台管理定时任务
2018/08/14 Python
pandas DataFrame的修改方法(值、列、索引)
2019/08/02 Python
Django 后台获取文件列表 InMemoryUploadedFile的例子
2019/08/07 Python
Django模板语言 Tags使用详解
2019/09/09 Python
Win10 安装PyCharm2019.1.1(图文教程)
2019/09/29 Python
Django连接数据库并实现读写分离过程解析
2019/11/13 Python
Python namedtuple命名元组实现过程解析
2020/01/08 Python
解决pycharm每次打开项目都需要配置解释器和安装库问题
2020/02/26 Python
Jo Malone美国官网:祖玛珑香水
2017/03/27 全球购物
施华洛世奇中国官网:SWAROVSKI中国
2020/06/16 全球购物
百日安全活动总结
2014/05/04 职场文书
致地震灾区的慰问信
2015/03/23 职场文书
绿里奇迹观后感
2015/06/15 职场文书
导游词之藏龙百瀑景区
2019/12/30 职场文书
使用react+redux实现计数器功能及遇到问题
2021/06/02 Javascript
MySQL中order by的使用详情
2021/11/17 MySQL
Python+腾讯云服务器实现每日自动健康打卡
2021/12/06 Python
Ruby处理YAML和json数据
2022/04/18 Ruby