如果样式写在行间,直接可以使用obj.style.attr即可获得,可是如果写在css中,再使用这种方法,是获取不到任何内容的,这里,我介绍一种既能获取行间样式,又能获取非行间样式的方法,并封装成函数,具备兼容性
<!DOCTYPE html>
<html>
<head>
<title></title>
<style type="text/css">
* {
margin: 0;
padding: 0;
}
#div1 {
width: 100px;
height: 100px;
background: red;
}
</style>
</head>
<body>
<div id="div1"></div>
<script type="text/javascript">
function getStyle(obj, attr) {
if (obj.currentStyle) {
return obj.currentStyle[attr];
} else {
return getComputedStyle(obj, null)[attr];
}
}
var oDiv = document.getElementById('div1');
console.log('getStyle(width) = ' + getStyle(oDiv, 'width'));
</script>
</body>
</html>
结果:100px
注意:返回的是带有单位px的字符串,不是数字