function getStyle_complex(oElement){ var oStyle; if( window.getComputedStyle ) { if(oElement.tagName.toUpperCase()==="A"){ oStyle_hover = window.getComputedStyle(oElement,"hover"); }else{ oStyle = window.getComputedStyle(oElement,null); } } else if( oElement.currentStyle ) { oStyle = oElement.currentStyle; } /* var div = document.getElementsByTagName("div")[0]; var style = window.getComputedStyle(div, "hover"); alert(style.backgroundColor); */ // var styleobj = {}; var float_change_cssFloat; if($.browser.mozilla){float_change_cssFloat = oStyle.getPropertyValue("float");} //for(var q in oStyle_hover){ //console.log(q+":"+oStyle_hover[q]); //} for(var p in oStyle){ if(oStyle[p] && typeof oStyle[p] !== "function" && (oStyle[p]!="none" || p=="display") && oStyle[p]!="auto" && oStyle[p]!="normal" && !(/^(/d+)$/.test(p)) //&& p!="cssText" ){ //document.write(p+":"+oStyle[p]); //document.write("<br/>"); if($.browser.msie){ if(typeof oStyle[p] == "number"){styleobj[p]=oStyle[p].toString(); }else{styleobj[p]=oStyle[p];} }else if($.browser.mozilla){ //console.log(p+":"+oStyle[p]); if(float_change_cssFloat){ styleobj["cssFloat"]=float_change_cssFloat; } if(p=="length"){ delete oStyle[p]; }else{ styleobj[p]=oStyle[p]; } }else{ //if(typeof p=="number"){delete oStyle[p]} styleobj[p]=oStyle[p]; } } } return styleobj; } 其中 $.browser.mozilla jquery判断浏览器 也可以用 navigator.appName 纯js 来判断 这段代码还没有完全达到我想要的效果,请打指点