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 25 Javascript
JS中判断JSON数据是否存在某字段的方法
Mar 07 Javascript
jQuery中dequeue()方法用法实例
Dec 29 Javascript
jQuery中:last选择器用法实例
Dec 30 Javascript
jQuery代码实现发展历程时间轴特效
Jul 30 Javascript
JavaScript实现选择框按比例拖拉缩放的方法
Aug 04 Javascript
AJAX实现瀑布流触发分页与分页触发瀑布流的方法
May 23 Javascript
JavaScript仿聊天室聊天记录
Dec 27 Javascript
vue 的keep-alive缓存功能的实现
Mar 22 Javascript
vue实现Excel文件的上传与下载功能的两种方式
Jun 28 Javascript
jquery传参及获取方式(两种方式)
Feb 13 jQuery
vue tab滚动到一定高度,固定在顶部,点击tab切换不同的内容操作
Jul 22 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
全国FM电台频率大全 - 16 河南省
2020/03/11 无线电
星际争霸 Starcraft 发展史
2020/03/14 星际争霸
锁定年轻人的双倍活力 星巴克推出星倍醇即饮浓咖啡
2021/03/03 咖啡文化
php单态设计模式(单例模式)实例
2014/11/18 PHP
PHP把MSSQL数据导入到MYSQL的方法
2014/12/27 PHP
PHP实现的链式队列结构示例
2017/09/15 PHP
php中数组最简单的使用方法
2020/12/27 PHP
jQuery 联动日历实现代码
2012/05/31 Javascript
jQuery实现分章节锚点“回到顶部”动画特效代码
2015/10/23 Javascript
浅谈jQuery中hide和fadeOut的区别 show和fadeIn的区别
2016/08/18 Javascript
原生js的RSA和AES加密解密算法
2016/10/08 Javascript
JavaScript reduce和reduceRight详解
2016/10/24 Javascript
Vue 过渡实现轮播图效果
2017/03/27 Javascript
NodeJS 实现手机短信验证模块阿里大于功能
2017/06/19 NodeJs
基于Bootstrap的标签页组件及bootstrap-tab使用说明
2017/07/25 Javascript
VUE实现表单元素双向绑定(总结)
2017/08/08 Javascript
jQuery插件artDialog.js使用与关闭方法示例
2017/10/09 jQuery
在一个页面实现两个zTree联动的方法
2017/12/20 Javascript
JavaScript类的继承方法小结【组合继承分析】
2018/07/11 Javascript
js中对象和面向对象与Json介绍
2019/01/21 Javascript
跟混乱的页面弹窗说再见
2019/04/11 Javascript
使用VueRouter的addRoutes方法实现动态添加用户的权限路由
2019/06/03 Javascript
OpenLayer学习之自定义测量控件
2020/09/28 Javascript
python文件和目录操作函数小结
2014/07/11 Python
简单介绍Python中的try和finally和with方法
2015/05/05 Python
Python、 Pycharm、Django安装详细教程(图文)
2019/04/12 Python
如何不用安装python就能在.NET里调用Python库
2019/07/12 Python
PyQt5多线程刷新界面防假死示例
2019/12/13 Python
Python turtle画图库&amp;&amp;画姓名实例
2020/01/19 Python
PyCharm中配置PySide2的图文教程
2020/06/18 Python
HTML5 Canvas像素处理使用接口介绍
2012/12/02 HTML / CSS
canvas 如何绘制线段的实现方法
2018/07/12 HTML / CSS
乐高官方旗舰店:LEGO积木玩具
2019/04/06 全球购物
我的中国梦口号
2014/06/16 职场文书
办公室文员工作自我鉴定
2014/09/19 职场文书
Django实现在线无水印抖音视频下载(附源码及地址)
2021/05/06 Python