對於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>