js獲取css屬性中的值
阿新 • • 發佈:2019-01-05
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原始碼