码迷,mamicode.com
首页 > 编程语言 > 详细

JavaScript获取非行间样式之currentStyle,getComputedStyle的使用

时间:2017-04-22 15:49:29      阅读:169      评论:0      收藏:0      [点我收藏+]

标签:load   lang   asc   tco   com   back   script   样式   get   

如果是行间样式我们可以直接用style来获取,但是如果是非行间样式,则style不起作用了,这里需要用到新的语法了。

1.currentStyle

 1 <!DOCTYPE html>
 2 <html lang="en">
 3 <head>
 4 <meta charset="UTF-8">
 5 <title>Document</title>
 6 <style type="text/css">
 7     #div1{width: 200px;height: 200px;background-color: red;}    
 8 </style>
 9 <script type="text/javascript">
10     window.onload=function(){
11         var oDiv=document.getElementById("div1");
12         alert(oDiv.currentStyle.width);  //在这里应用currentStyle
13     }
14 </script>
15 </head>
16 <body>
17 <div id="div1"></div>    
18 </body>
19 </html>

如上所示就是currentStyle的使用方法,跟style一样,但是要注意的是,currentStyle仅兼容IE。

currentStyle只能在IE使用,所以我们在其他浏览器还需要另外的方法获取样式。

 

2.getComputedStyle

我们将上面的弹出代码换成

alert(getComputedStyle(oDiv,null).width);

就可以使这段代码在谷歌,火狐等浏览器上运行了。其中getComputedStyle的第二个参数,也就是null可以任意替换,不影响。值得注意的是,getComputedStyle在老版IE中也是不兼容的。

为了在所有浏览器中都可以获取样式,可以作如下改动:

 1 window.onload=function(){
 2             var oDiv=document.getElementById("div1");
 3             //alert(getComputedStyle(oDiv,null).width);
 4             if (oDiv.currentStyle) {
 5                 alert(oDiv.currentStyle.width);
 6             }
 7             else{
 8                 alert(getComputedStyle(oDiv,null).width);
 9             }
10         }

 

 

  

 

JavaScript获取非行间样式之currentStyle,getComputedStyle的使用

标签:load   lang   asc   tco   com   back   script   样式   get   

原文地址:http://www.cnblogs.com/wjaaron/p/6747747.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!