老生常谈JavaScript获取CSS样式的方法(兼容各浏览器)


Posted in Javascript onSeptember 19, 2018

众所周知,CSS样式有三种类型:行内样式、内部样式和外部样式,JavaScript获取CSS样式时分为两种情况:行内样式获取法 和 非行内样式获取法 。

一、行内样式获取相对简单,通过element.style.attr(元素.style.属性)即可获取,示例:

<!DOCTYPE html>
 <html lang="en">
 <head>
   <meta charset="UTF-8">
   <title>JavaScript获取CSS样式</title>
 </head>
 <body>
   <!-- 给p标签设置行内样式并添加点击事件 -->
   <p style='width: 200px;height: 100px;background: pink' onclick='show()'>博客园--开发者的网上家园</p>
   <script type="text/javascript">
     function show() {
       var obj = document.getElementsByTagName('p')[0];
       alert(obj.style.width);
     }
   </script>
 </body>
 </html>

运行:

老生常谈JavaScript获取CSS样式的方法(兼容各浏览器)

通过element.style.attr即可获取行内样式属性值,也可设置属性值,形式如:obj.style.width = 300 + 'px';

二‘、非行内样式获取法,因浏览器的不同又分为两种,即基于IE浏览器的 和 非IE浏览器的如谷歌火狐等。

1、基于IE浏览器的非行内获取法:通过 element.currentStyle['attr']

老生常谈JavaScript获取CSS样式的方法(兼容各浏览器)

IE运行结果:

老生常谈JavaScript获取CSS样式的方法(兼容各浏览器)

2、基于非IE如火狐谷歌等非行内获取法:通过 getComputedStyle(element.null/伪类)[attr]

老生常谈JavaScript获取CSS样式的方法(兼容各浏览器)

火狐运行结果:

老生常谈JavaScript获取CSS样式的方法(兼容各浏览器)

 二者兼容定法:

老生常谈JavaScript获取CSS样式的方法(兼容各浏览器)

总结:以上就是JavaScript获取CSS样式的方法,其中获取非行内样式兼容IE和非IE可通过封装一个函数,实现多次调用,

切记:非行内样式获取法,只能获取不能设置。

总结

以上所述是小编给大家介绍的老生常谈JavaScript获取CSS样式的方法(兼容各浏览器),希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
了解jQuery技巧来提高你的代码
Jan 08 Javascript
js中各种类型的变量在if条件中是true还是false
Jul 16 Javascript
深入理解JavaScript的React框架的原理
Jul 02 Javascript
js中用cssText设置css样式的简单方法
Sep 19 Javascript
谈谈对JavaScript原生拖放的深入理解
Sep 20 Javascript
jQuery实现滚动条滚动到子元素位置(方便定位)
Jan 08 Javascript
jQuery中的on与bind绑定事件区别实例详解
Feb 28 Javascript
JS使用cookie实现只出现一次的广告代码效果
Apr 22 Javascript
vue中使用axios post上传头像/图片并实时显示到页面的方法
Sep 27 Javascript
详解vue-router数据加载与缓存使用总结
Oct 29 Javascript
layui table 列宽百分比显示的实现方法
Sep 28 Javascript
JS canvas实现画板和签字板功能
Feb 23 Javascript
vue生命周期和react生命周期对比【推荐】
Sep 19 #Javascript
Vue瀑布流插件的使用示例
Sep 19 #Javascript
vue-cli项目修改文件热重载失效的解决方法
Sep 19 #Javascript
解决vuecli3.0热更新失效的问题
Sep 19 #Javascript
记一次webapck4 配置文件无效的解决历程
Sep 19 #Javascript
解决vue热替换失效的根本原因
Sep 19 #Javascript
三种Webpack打包方式(小结)
Sep 19 #Javascript
You might like
PHP运行模式的深入理解
2013/06/03 PHP
PHP中读取文件的8种方法和代码实例
2014/08/05 PHP
php获取指定数量随机字符串的方法
2017/02/06 PHP
关于Laravel-admin的基础用法总结和自定义model详解
2019/10/08 PHP
javascript 进阶篇1 正则表达式,cookie管理,userData
2012/03/14 Javascript
Javacript实现颜色梯度变化和渐变的效果代码
2013/05/31 Javascript
js中substr,substring,indexOf,lastIndexOf,split,replace的用法详解
2015/11/09 Javascript
Bootstrap基本组件学习笔记之导航(10)
2016/12/07 Javascript
JS实现颜色动态淡化效果
2017/03/06 Javascript
JavaScript实现审核流程状态的动态显示进度条
2017/03/15 Javascript
JavaScript实现换肤功能
2017/09/15 Javascript
使用mock.js随机数据和使用express输出json接口的实现方法
2018/01/07 Javascript
详解node.js中的npm和webpack配置方法
2018/01/21 Javascript
微信公众号平台接口开发 菜单管理的实现
2019/08/14 Javascript
解决在Vue中使用axios用form表单出现的问题
2019/10/30 Javascript
vue element el-transfer增加拖拽功能
2021/01/15 Vue.js
[00:32]2018DOTA2亚洲邀请赛VG出场
2018/04/03 DOTA
Python 爬虫多线程详解及实例代码
2016/10/08 Python
Redis使用watch完成秒杀抢购功能的代码
2018/05/07 Python
从django的中间件直接返回请求的方法
2018/05/30 Python
Python实用技巧之利用元组代替字典并为元组元素命名
2018/07/11 Python
Python编程图形库之Pillow使用方法讲解
2018/12/28 Python
python 对多个csv文件分别进行处理的方法
2019/01/07 Python
程序员的七夕用30行代码让Python化身表白神器
2019/08/07 Python
Python.append()与Python.expand()用法详解
2019/12/18 Python
python cv2读取rtsp实时码流按时生成连续视频文件方式
2019/12/25 Python
matplotlib 画双轴子图无法显示x轴的解决方法
2020/07/27 Python
python 如何在测试中使用 Mock
2021/03/01 Python
Urban Outfitters英国官网:美国平价服饰品牌
2016/11/25 全球购物
Blue Nile蓝色尼罗河香港官网:世界最大在线钻石珠宝销售商
2020/05/07 全球购物
技能竞赛活动方案
2014/02/21 职场文书
会计专业毕业生自荐书
2014/06/25 职场文书
2014年九一八事变演讲稿
2014/09/14 职场文书
python自动化调用百度api解决验证码
2021/04/13 Python
使用react+redux实现计数器功能及遇到问题
2021/06/02 Javascript
MySQL运行报错:“Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggre”解决方法
2022/06/14 MySQL