首页 > 代码库 > JavaScript获取非行间样式之currentStyle,getComputedStyle的使用
JavaScript获取非行间样式之currentStyle,getComputedStyle的使用
如果是行间样式我们可以直接用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的使用
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。