对于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>