老生常谈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学习之闭包分析
Dec 02 Javascript
Extjs优化(二)Form表单提交通用实现
Apr 15 Javascript
css与javascript跨浏览器兼容性总结
Sep 15 Javascript
node.js中的fs.chownSync方法使用说明
Dec 16 Javascript
原生js实现移动端瀑布流式代码示例
Dec 18 Javascript
JS编写函数实现对身份证号码最后一位的验证功能
Dec 29 Javascript
js时间戳格式化成日期格式的多种方法介绍
Feb 16 Javascript
AngularJS实现自定义指令与控制器数据交互的方法示例
Jun 19 Javascript
Javascript 类型转换、封闭函数及常见内置对象操作示例
Nov 15 Javascript
JS实现动态倒计时功能(天数、时、分、秒)
Dec 12 Javascript
vue单文件组件无法获取$refs的问题
Jun 24 Javascript
react 路由Link配置详解
Nov 11 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 is_file 判断给定文件名是否为一个正常的文件
2010/05/10 PHP
php中Array2xml类实现数组转化成XML实例
2014/12/08 PHP
Yii CGridView用法实例详解
2016/07/12 PHP
详解PHP防止盗链防止迅雷下载的方法
2017/04/26 PHP
PHP实现的字符串匹配算法示例【sunday算法】
2017/12/19 PHP
两个select之间option的互相添加操作(jquery实现)
2009/11/12 Javascript
JavaScript实现按Ctrl键打开新页面
2014/09/04 Javascript
JavaScript调用浏览器打印功能实例分析
2015/07/17 Javascript
jQuery插件实现文字无缝向上滚动效果代码
2016/02/25 Javascript
ionic隐藏tabs的方法
2016/08/29 Javascript
微信小程序-获得用户输入内容
2017/02/13 Javascript
nodejs制作爬虫实现批量下载图片
2017/05/19 NodeJs
JS实现十分钟倒计时代码实例
2018/10/18 Javascript
了解Javascript中函数作为对象的魅力
2019/06/19 Javascript
VUE 实现动态给对象增加属性,并触发视图更新操作示例
2019/11/29 Javascript
jQuery实现简单评论功能
2020/08/19 jQuery
在Python中操作时间之tzset()方法的使用教程
2015/05/22 Python
python读取TXT到数组及列表去重后按原来顺序排序的方法
2015/06/26 Python
python sort、sort_index方法代码实例
2019/03/28 Python
详解Python 函数如何重载?
2019/04/23 Python
Python增强赋值和共享引用注意事项小结
2019/05/28 Python
python线程中的同步问题及解决方法
2019/08/29 Python
使用OpenCV实现仿射变换—旋转功能
2019/08/29 Python
Pytorch使用MNIST数据集实现CGAN和生成指定的数字方式
2020/01/10 Python
通过python实现windows桌面截图代码实例
2020/01/17 Python
Python的PIL库中getpixel方法的使用
2020/04/09 Python
利用CSS3的线性渐变linear-gradient制作边框的示例
2016/06/02 HTML / CSS
国外平面设计第一市场:99designs
2016/10/25 全球购物
Unix/Linux开发面试题
2016/08/16 面试题
高校毕业生自我鉴定
2013/10/27 职场文书
初中生毕业评语
2014/12/29 职场文书
撤诉申请怎么写
2015/05/19 职场文书
如何解决.cuda()加载用时很长的问题
2021/05/24 Python
微信小程序scroll-view不能左右滑动问题的解决方法
2021/07/09 Javascript
浅谈MySQL表空间回收的正确姿势
2021/10/05 MySQL
Javascript的promise,async和await的区别详解
2022/03/24 Javascript