js获取style

对于js中获取style,

1,obj.style方法,

缺点:只能获取在元素标签内的style样式,当css元素位于标签之外时,无法获取到相应的css

2,对于Firefox   chrome浏览器,选定样式为getComputerStyle()方法这个方法需要Dom2的 document.defaultView结合

这个方法接受两个参数:要取得计算样式的元素和一个伪元素字符串(例如“:after”)。如果不需要伪元素信息,第二个参数可以是null。getComputerStyle()方法返回一个CSSStyleDeclaration对象,其中包含当前元素的所有计算的样式

3,对于ie浏览器,不支持getComputerStyle()方法,但是默认每个含有style样式的元素都有一个currentStyle属性,这个属性包含全部要计算元素的全部样式,

代码如下:

 1 <!DOCTYPE html>
 2 <html>
 3 <head lang="en">
 4     <meta charset="UTF-8">
 5     <title></title>
 6     <style>
 7         #div{
 8             width: 100px;
 9 
10             height: 100px;
11             background-color: red;
12         }
13     </style>
14 </head>
15 <body>
16 <div id="div">    
17 </div>
18 <script>
19   alert(getStyle("div","height"));
20   function getStyle(id,attr){
21       var element=document.getElementById(id);
22       if(getComputedStyle) {//code  for chrome  Firefox
23           var compStyle = document.defaultView.getComputedStyle(element, false);
24           var tyle = compStyle[attr];
25       }else{//code  for ie
26           var comstyle=div.currentStyle;
27           tyle=comstyle[attr];
28       }
29       return  tyle;
30   }
31 </script> </body> </html>

  

  

原文地址:https://www.cnblogs.com/qianduangaoshou/p/6483126.html