function getStyle(obj,attr){
if(obj.currentStyle){ //IE
return obj.currentStyle[attr];
}
else{ //FireFox
return getComputedStyle(obj,false)[attr];
//false是一个虚元素,或者是一个伪类‘abc’,123均可
}
}
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
</head>
<style type="text/css">
#div1{
width:100px;
height:100px;
background: red;
}
</style>
<body>
<div id="div1"></div>
</body>
<script type="text/javascript">
var oDiv = document.getElementById('div1');
function getStyle(obj,attr){
if(obj.currentStyle){ //IE
return obj.currentStyle[attr];
}
else{
return getComputedStyle(obj,"伪类")[attr]; //Firefox
}
}
alert(getStyle(oDiv1,'background'));
</html>
然而在jQuery下直接使用$(“element”).css(“属性”,”设置的值”),进行获取和修改。
jQuery源码中其实也是通过currentStyle和getComputedStyle 不过其中还有更加兼容性和鲁棒性的代码 ,有兴趣的可以参阅jQuery源码