老生常谈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 相关文章推荐
Prototype使用指南之range.js
Jan 10 Javascript
js调试系列 断点与动态调试[基础篇]
Jun 18 Javascript
JS实现一个按钮的方法
Feb 05 Javascript
jQuery插件scroll实现无缝滚动效果
Apr 27 Javascript
JS截取字符串实例详解
Nov 24 Javascript
JavaScript DOM 对象深入了解
Jul 20 Javascript
JS当前页面登录注册框,固定DIV,底层阴影的实例代码
Sep 29 Javascript
webpack中的热刷新与热加载的区别
Apr 09 Javascript
vue router 源码概览案例分析
Oct 09 Javascript
js实现黑白div块画空心的图形
Dec 13 Javascript
微信小程序位置授权处理方法
Jun 13 Javascript
Vue SSR 即时编译技术的实现
May 06 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的curl实现get,post和cookie(实例介绍)
2013/06/17 PHP
使用PHPCMS搭建wap手机网站
2015/09/20 PHP
thinkphp查询,3.X 5.0方法(亲试可行)
2017/06/17 PHP
jquery关于页面焦点的定位(文本框获取焦点时改变样式 )
2010/09/10 Javascript
javascript测试题练习代码
2012/10/10 Javascript
如何让页面在打开时自动刷新一次让图片全部显示
2012/12/17 Javascript
深入理解JavaScript系列(38):设计模式之职责链模式详解
2015/03/04 Javascript
jQuery简单实现日历的方法
2015/05/04 Javascript
简单实现js选项卡切换效果
2016/02/03 Javascript
实例解析ES6 Proxy使用场景介绍
2018/01/08 Javascript
vue checkbox 全选 数据的绑定及获取和计算方法
2018/02/09 Javascript
JavaScript两种计时器的实例讲解
2019/01/31 Javascript
解决Layui 表格自适应高度的问题
2019/11/15 Javascript
node.js使用net模块创建服务器和客户端示例【基于TCP协议】
2020/02/14 Javascript
vue 使用v-for进行循环的实例代码详解
2020/02/19 Javascript
在vue中给后台接口传的值为数组的格式代码
2020/11/12 Javascript
Javascript 模拟mvc实现点餐程序案例详解
2020/12/24 Javascript
跟老齐学Python之复习if语句
2014/10/02 Python
Python访问MySQL封装的常用类实例
2014/11/11 Python
详解使用Python处理文件目录的相关方法
2015/10/16 Python
完美解决python中ndarray 默认用科学计数法显示的问题
2018/07/14 Python
python网络爬虫 Scrapy中selenium用法详解
2019/09/28 Python
Cinque网上商店:德国服装品牌
2019/03/17 全球购物
美国椅子和沙发制造商:La-Z-Boy
2020/10/25 全球购物
财务部出纳岗位职责
2013/12/22 职场文书
校园奶茶店创业计划书
2014/01/23 职场文书
渔夫的故事教学反思
2014/02/14 职场文书
《登鹳雀楼》教学反思
2014/04/09 职场文书
文秘专业应届生求职信
2014/05/26 职场文书
教师批评与自我批评总结
2014/10/16 职场文书
泰山导游词
2015/02/02 职场文书
监理中标通知书
2015/04/16 职场文书
大学生奖学金获奖感言(范文)
2019/08/15 职场文书
Python基于Opencv识别两张相似图片
2021/04/25 Python
MySQL 分组查询的优化方法
2021/05/12 MySQL
TV动画《神废柴☆偶像》公布先导PV
2022/03/20 日漫