欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

老生常谈JavaScript获取CSS样式的方法(兼容各浏览器)

程序员文章站 2022-06-28 23:47:08
众所周知,css样式有三种类型:行内样式、内部样式和外部样式,javascript获取css样式时分为两种情况:行内样式获取法 和 非行内样式获取法 。 一、行内样式获取...

众所周知,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样式的方法(兼容各浏览器),希望对大家有所帮助