老生常谈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 相关文章推荐
任意位置显示html菜单
Feb 01 Javascript
优化javascript的执行速度
Jan 23 Javascript
jQuery 前的按键判断代码
Mar 19 Javascript
JS onmousemove鼠标移动坐标接龙DIV效果实例
Dec 16 Javascript
JavaScript操作XML文件之XML读取方法
Jun 09 Javascript
浅析Javascript的自动分号插入(ASI)机制
Sep 29 Javascript
JavaScript实现的CRC32函数示例
Nov 23 Javascript
jQuery Chosen通用初始化
Mar 07 Javascript
jQuery+Ajax实现用户名重名实时检测
Jun 01 jQuery
easyui简介_动力节点Java学院整理
Jul 14 Javascript
什么时候不能在 Node.js 中使用 Lock Files
Jun 24 Javascript
使用vue判断当前环境是安卓还是IOS
Apr 12 Vue.js
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
2019十大人气国漫
2020/03/13 国漫
php数组函数序列之array_sum() - 计算数组元素值之和
2011/10/29 PHP
PHP中的函数-- foreach()的用法详解
2013/06/24 PHP
php采用file_get_contents代替使用curl实例
2014/11/07 PHP
详解Grunt插件之LiveReload实现页面自动刷新(两种方案)
2015/07/31 PHP
超级兔子让浮动层消失的前因后果
2007/03/09 Javascript
js汉字转拼音实现代码
2013/02/06 Javascript
JS获取select-option-text_value的方法
2013/12/26 Javascript
jquery中map函数与each函数的区别实例介绍
2014/06/23 Javascript
JavaScript学习笔记之JS函数
2015/01/22 Javascript
详解Node.js模块间共享数据库连接的方法
2016/05/24 Javascript
js实现精确到秒的倒计时效果
2016/05/29 Javascript
JS简单实现tab切换效果的多窗口显示功能
2016/09/07 Javascript
详解Vue CLI3配置之filenameHashing使用和源码设计使用和源码设计
2018/08/31 Javascript
Vue CL3 配置路径别名详解
2019/05/30 Javascript
vue 实现购物车总价计算
2019/11/06 Javascript
[55:04]海涛DOTA2死魂复燃6.82版本介绍
2014/09/28 DOTA
[02:07]2017国际邀请赛中国区预选赛直邀战队前瞻
2017/06/23 DOTA
[原创]教女朋友学Python3(二)简单的输入输出及内置函数查看
2017/11/30 Python
python实现决策树分类算法
2017/12/21 Python
CentOS6.9 Python环境配置(python2.7、pip、virtualenv)
2019/05/06 Python
详解利用python+opencv识别图片中的圆形(霍夫变换)
2019/07/01 Python
TensorFlow 显存使用机制详解
2020/02/03 Python
python Matplotlib模块的使用
2020/09/16 Python
鲜为人知的HTML5语音合成功能
2019/05/17 HTML / CSS
Canvas系列之滤镜效果
2019/02/12 HTML / CSS
Marc O’Polo俄罗斯官方在线商店:德国高端时尚品牌
2019/12/26 全球购物
美国婴儿服装购物网站:Gerber Childrenswear
2020/05/06 全球购物
Javascript如何发送一个Ajax请求
2015/01/26 面试题
英文翻译的自我评价语句
2013/10/04 职场文书
劳资员岗位职责
2013/11/11 职场文书
校园安全广播稿范文
2014/09/25 职场文书
群众路线教育实践活动自我剖析思想汇报
2014/10/04 职场文书
学风建设主题班会
2015/08/17 职场文书
四年级作文之植物
2019/09/20 职场文书
MySQL系列之十三 MySQL的复制
2021/07/02 MySQL