老生常谈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 相关文章推荐
JavaScript对象、属性、事件手册集合方便查询
Jul 04 Javascript
js获取本机的外网/广域网ip地址完整源码
Aug 12 Javascript
解决jquery操作checkbox火狐下第二次无法勾选问题
Feb 10 Javascript
JS模拟并美化的表单控件完整实例
Aug 19 Javascript
DOM事件探秘篇
Feb 15 Javascript
解决vue-cli中stylus无法使用的问题方法
Jun 19 Javascript
Vue.js列表渲染绑定jQuery插件的正确姿势
Jun 29 jQuery
Vue项目分环境打包的实现步骤
Apr 02 Javascript
vue实例中data使用return包裹的方法
Aug 27 Javascript
在vue-cli 3中给stylus、sass样式传入共享的全局变量
Aug 12 Javascript
三步实现ionic3点击退出app程序
Sep 17 Javascript
JS异步宏队列与微队列原理区别详解
Jul 02 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中操作Excel实例代码
2010/04/29 PHP
比较全面的PHP数组的使用方法小结
2010/09/23 PHP
PHP HTML JavaScript MySQL代码如何互相传值的方法分享
2012/09/30 PHP
php生成数字字母的验证码图片
2015/07/14 PHP
Fleaphp常见函数功能与用法示例
2016/11/15 PHP
JavaScript的Function详细
2006/11/14 Javascript
动态控制Table的js代码
2007/03/07 Javascript
Javascript UrlDecode函数代码
2010/01/09 Javascript
通过百度地图获取公交线路的站点坐标的js代码
2012/05/11 Javascript
JavaScript节点及列表操作实例小结
2015/08/05 Javascript
JavaScript事件学习小结(五)js中事件类型之鼠标事件
2016/06/09 Javascript
浅谈JavaScript的闭包函数
2016/12/08 Javascript
Bootstrap媒体对象学习使用
2017/03/07 Javascript
微信小程序车牌号码模拟键盘输入功能的实现代码
2018/11/11 Javascript
微信运维交互机器人的示例代码
2018/11/12 Javascript
微信小程序学习笔记之文件上传、下载操作图文详解
2019/03/29 Javascript
Python算法之栈(stack)的实现
2014/08/18 Python
Python set集合类型操作总结
2014/11/07 Python
Python中os.path用法分析
2015/01/15 Python
基于Python实现一个简单的银行转账操作
2016/03/06 Python
一些常用的Python爬虫技巧汇总
2016/09/28 Python
windows及linux环境下永久修改pip镜像源的方法
2016/11/28 Python
详解Python判定IP地址合法性的三种方法
2018/03/06 Python
python单线程文件传输的实例(C/S)
2019/02/13 Python
Pyqt5 基本界面组件之inputDialog的使用
2019/06/25 Python
通过PHP与Python代码对比的语法差异详解
2019/07/10 Python
整个世界的设计师家具在哈恩:Designathome
2019/03/25 全球购物
巴西最大的巴士票务门户:Quero Passagem
2020/11/21 全球购物
我的大学生活职业生涯规划
2014/01/02 职场文书
质量月活动策划方案
2014/03/10 职场文书
单位委托书
2014/10/15 职场文书
龙门石窟导游词
2015/02/02 职场文书
政工师工作总结2015
2015/05/26 职场文书
MySQL命令行操作时的编码问题详解
2021/04/14 MySQL
python 如何执行控制台命令与操作剪切板
2021/05/20 Python
MySQL学习之基础命令实操总结
2022/03/19 MySQL