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 相关文章推荐
让低版本浏览器支持input的placeholder属性(js方法)
Apr 03 Javascript
IE的事件传递-event.cancelBubble示例介绍
Jan 12 Javascript
JavaScript 学习笔记之操作符
Jan 14 Javascript
javascript数组去重的方法汇总
Apr 14 Javascript
简述JavaScript提交表单的方式 (Using JavaScript Submit Form)
Mar 18 Javascript
jquery 将当前时间转换成yyyymmdd格式的实现方法
Jun 01 Javascript
js面向对象编程总结
Feb 16 Javascript
推荐三款不错的图片压缩上传插件(webuploader、localResizeIMG4、LUploader)
Apr 21 Javascript
vue实现留言板todolist功能
Aug 16 Javascript
JavaScript之实现一个简单的Vue示例
Jan 17 Javascript
jQuery事件blur()方法的使用实例讲解
Mar 30 jQuery
vue使用lodop打印控件实现浏览器兼容打印的方法
Feb 07 Vue.js
浅析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上传图片类(随机名,缩略图,加水印)
2010/06/30 PHP
php中base_convert()进制数字转换函数实例
2014/11/20 PHP
php实现比较两个字符串日期大小的方法
2015/05/12 PHP
PHP获取当前文件的父目录方法汇总
2016/07/21 PHP
php 广告点击统计代码(php+mysql)
2018/02/21 PHP
Yii框架使用PHPExcel导出Excel文件的方法分析【改进版】
2019/07/24 PHP
JavaScript中的Screen屏幕对象
2008/01/16 Javascript
Jquery 弹出层插件实现代码
2009/10/24 Javascript
淘宝搜索框效果实现分析
2011/03/05 Javascript
jquery 卷帘效果实现代码(不同方向)
2013/02/05 Javascript
使用jquery自定义鼠标样式满足个性需求
2013/11/05 Javascript
百度移动版的url编码解码示例
2014/04/29 Javascript
js限制checkbox选中个数以限制六个为例
2014/07/15 Javascript
javascript+html5实现绘制圆环的方法
2015/07/28 Javascript
jQuery网页版打砖块小游戏源码分享
2015/08/20 Javascript
解决JS无法调用Controller问题的方法
2015/12/31 Javascript
jQuery动画效果相关方法实例分析
2015/12/31 Javascript
JavaScript获取当前url根目录(路径)
2016/06/17 Javascript
微信小程序开发教程之增加mixin扩展
2017/08/09 Javascript
vue-router启用history模式下的开发及非根目录部署方法
2018/12/23 Javascript
jQuery实现移动端图片上传预览组件的方法分析
2020/05/01 jQuery
python安装numpy&amp;安装matplotlib&amp; scipy的教程
2017/11/02 Python
Python实现PS滤镜碎片特效功能示例
2018/01/24 Python
pygame实现简易飞机大战
2018/09/11 Python
Django 内置权限扩展案例详解
2019/03/04 Python
使用Python实现将list中的每一项的首字母大写
2019/06/11 Python
使用SQLAlchemy操作数据库表过程解析
2020/06/10 Python
详解Python中list[::-1]的几种用法
2020/11/16 Python
python3 googletrans超时报错问题及翻译工具优化方案 附源码
2020/12/23 Python
css3进阶之less实现星空动画的示例代码
2019/09/10 HTML / CSS
努比亚手机官网:nubia
2016/10/06 全球购物
STP协议的主要用途是什么?为什么要用STP
2012/12/20 面试题
一套Delphi的笔试题一
2016/02/14 面试题
就业自荐信
2013/12/04 职场文书
2014年食品安全工作总结
2014/12/04 职场文书
感谢信范文大全
2015/01/23 职场文书