老生常谈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判断office版本示例
Apr 11 Javascript
javascript中this的四种用法
May 11 Javascript
jQuery实现折叠、展开的菜单组效果代码
Sep 16 Javascript
微信jssdk在iframe页面失效问题的解决措施
Mar 03 Javascript
浅析BootStrap中Modal(模态框)使用心得
Dec 24 Javascript
AngularJS实现根据不同条件显示不同控件
Apr 20 Javascript
SpringBoot+Vue前后端分离,使用SpringSecurity完美处理权限问题的解决方法
Jan 09 Javascript
spirngmvc js传递复杂json参数到controller的实例
Mar 29 Javascript
VueCli3构建TS项目的方法步骤
Nov 07 Javascript
jQuery实现的3D版图片轮播示例【滑动轮播】
Jan 18 jQuery
微信小程序swiper实现文字纵向轮播提示效果
Jan 21 Javascript
JS中锚点链接点击平滑滚动并自由调整到顶部位置
Feb 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
操作Oracle的php类
2006/10/09 PHP
Mootools 1.2教程 Fx.Tween的使用
2009/09/15 Javascript
js 设置选中行的样式的实现代码
2010/05/24 Javascript
jQuery判断checkbox(复选框)是否被选中以及全选、反选实现代码
2014/02/21 Javascript
JavaScript异步加载浅析
2014/12/28 Javascript
JavaScript 对象深入学习总结(经典)
2015/09/29 Javascript
JS实现带有3D立体感的银灰色竖排折叠菜单代码
2015/10/20 Javascript
Vue.js实战之通过监听滚动事件实现动态锚点
2017/04/04 Javascript
vue Render中slots的使用的实例代码
2017/07/19 Javascript
angular中实现li或者某个元素点击变色的两种方法
2017/07/27 Javascript
详解react-webpack2-热模块替换[HMR]
2017/08/03 Javascript
jackson解析json字符串,首字母大写会自动转为小写的方法
2017/12/22 Javascript
原生JS+HTML5实现的可调节写字板功能示例
2018/08/30 Javascript
iView-admin 动态路由问题的解决方法
2018/10/03 Javascript
微信小程序使用setData修改数组中单个对象的方法分析
2018/12/30 Javascript
vue请求本地自己编写的json文件的方法
2019/04/25 Javascript
微信小程序定义和调用全局变量globalData的实现
2019/11/01 Javascript
Vue替代marquee标签超出宽度文字横向滚动效果
2019/12/09 Javascript
JS中数组实现代码(倒序遍历数组,数组连接字符串)
2019/12/29 Javascript
[02:19]2014DOTA2国际邀请赛 专访820少年们一起去追梦吧
2014/07/14 DOTA
基础的十进制按位运算总结与在Python中的计算示例
2016/06/28 Python
python实现随机调用一个浏览器打开网页
2018/04/21 Python
Python 日期的转换及计算的具体使用详解
2020/01/16 Python
基于Python脚本实现邮件报警功能
2020/05/20 Python
Python脚本破解压缩文件口令实例教程(zipfile)
2020/06/14 Python
HTML5的新特性(1)
2016/03/03 HTML / CSS
英国户外装备和冒险服装零售商:alloutdoor
2018/01/30 全球购物
MediaMarkt比利时:欧洲最大电器连锁店
2020/12/21 全球购物
高一自我鉴定
2013/12/17 职场文书
学校采购员岗位职责
2014/01/02 职场文书
大专生找工作自荐书
2014/06/10 职场文书
2014年师德师风自我剖析材料
2014/09/27 职场文书
承诺书范本
2015/01/21 职场文书
四风之害观后感
2015/06/09 职场文书
如何书写你的职业生涯规划书?
2019/06/27 职场文书
Python Matplotlib绘制条形图的全过程
2021/10/24 Python