<html>
<head>
<title></title>
<style>
#div1{width:100px; height:120px; position:absolute; top:20px; left:100px;
background:red; color:white;
opacity:0.2;
filter:alpha(opacity=20);
}
</style>
</head>
<body>
<div id=div1>div1</div>
<script>
/********************************
*获取非行间样式 ok
********************************
*用js的style属性可以获得html标签的样式,但是不能获取非行间样式。
*那么怎么用js获取css的非行间样式呢?
*在IE下可以用currentStyle,而在火狐下面我们需要用到getComputed
*已经对透明度做单独处理,兼容IE8 ff chrome。
*/
function getStyle3(obj_, attr){
var obj = typeof obj == 'string' ? document.getElementById(obj_) :
obj_;//防止传入的是ID,增强健壮性;
var _value=obj.currentStyle? obj.currentStyle[attr] : //for IE only
getComputedStyle(obj, false)[attr] ; //for ff/chrome only
if (attr != 'opacity' ){//所有透明度都是[0, 100]
return _value;
}else{
return _value*100;
}
}
var o = document.getElementById('div1');
alert( getStyle3(o, 'opacity') );
</script>
</body>
</html>
----