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 相关文章推荐
用JS实现的一个include函数
Jul 21 Javascript
jQuery学习笔记之jQuery的事件
Dec 22 Javascript
事件冒泡是什么如何用jquery阻止事件冒泡
Mar 20 Javascript
node.js中的console.timeEnd方法使用说明
Dec 09 Javascript
JS对字符串编码的几种方式使用指南
May 14 Javascript
BootStrap和jQuery相结合实现可编辑表格
Apr 21 Javascript
bootstrap动态调用select下拉框的实例代码
Aug 09 Javascript
angular4自定义组件非input元素实现ngModel双向数据绑定的方法
Dec 28 Javascript
JS module的导出和导入的实现代码
Feb 25 Javascript
Vue组件为什么data必须是一个函数
Jun 11 Javascript
openlayers4实现点动态扩散
Aug 17 Javascript
js和jquery判断数据类型的4种方法总结
Aug 28 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从给定url获取文件扩展名的方法
2015/03/14 PHP
php 常用的系统函数
2017/02/07 PHP
jQuery右键菜单contextMenu使用实例
2011/09/28 Javascript
jquery选择器的选择使用及性能介绍
2013/01/16 Javascript
文本框只能输入数字的实现方法(兼容IE火狐)
2016/06/25 Javascript
浅谈 Vue v-model指令的实现原理
2017/06/08 Javascript
浅谈Vuejs Prop基本用法
2017/08/17 Javascript
VsCode插件整理(小结)
2017/09/14 Javascript
jQuery 禁止表单用户名、密码自动填充功能
2017/10/30 jQuery
30分钟快速入门掌握ES6/ES2015的核心内容(上)
2018/04/18 Javascript
简述JS控制台的使用
2018/07/15 Javascript
利用原生的JavaScript实现简单拼图游戏
2018/11/18 Javascript
vue实现的下拉框功能示例
2019/01/29 Javascript
详解如何更好的使用module vuex
2019/03/27 Javascript
node中IO以及定时器优先级详解
2019/05/10 Javascript
mpvue实现左侧导航与右侧内容的联动
2019/10/21 Javascript
原生JavaScript实现的无缝滚动功能详解
2020/01/17 Javascript
解决echarts vue数据更新,视图不更新问题(echarts嵌在vue弹框中)
2020/07/20 Javascript
跨平台python异步回调机制实现和使用方法
2013/11/26 Python
Python常用知识点汇总
2016/05/08 Python
python 处理数字,把大于上限的数字置零实现方法
2019/01/28 Python
Pandas 重塑(stack)和轴向旋转(pivot)的实现
2019/07/22 Python
python 检查数据中是否有缺失值,删除缺失值的方式
2019/12/02 Python
Python使用Pygame绘制时钟
2020/11/29 Python
俄罗斯优惠券网站:BIGLION
2017/05/21 全球购物
Allsole美国/加拿大:英国一家专门出售品牌鞋子的网站
2018/10/21 全球购物
大型会议策划方案
2014/05/17 职场文书
党的群众路线教育实践活动对照检查材料(四风)
2014/09/27 职场文书
学校党员个人问题整改措施思想汇报
2014/10/08 职场文书
教师党的群众路线教育实践活动个人整改方案
2014/10/31 职场文书
一般基层干部群众路线教育实践活动个人对照检查材料
2014/11/04 职场文书
校长个人总结
2015/03/03 职场文书
《圆的周长》教学反思
2016/02/17 职场文书
HR必备:超全面的薪酬待遇管理方案!
2019/07/12 职场文书
Docker下安装Oracle19c
2022/04/13 Servers
Python面试不修改数组找出重复的数字
2022/05/20 Python