js用currentStyle和getComputedStyle获取css样式(非行间)

用js的style属性可以获得html标签的样式,但是不能获取非行间样式。那么怎么用js获取css的非行间样式呢?在IE下可以用currentStyle,而在火狐下面我们需要用到getComputedStyle。下面是一个小示例:

 

<html xmlns="http://www.w3.org/1999/xhtml">  
<head>  
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />  
<title>js用currentStyle和getComputedStyle获取css样式</title>  
<style type="text/css">  
#div1{width:100px; height:100px; background:red;}  
</style>  
<script type="text/javascript">  
function getStyle(obj, attr)  
{  
    if(obj.currentStyle)  
    {  
        return obj.currentStyle[attr];  
    }  
    else  
    {  
        return getComputedStyle(obj,false)[attr];  
    }  
}  
window.onload=function()  
{  
    var oDiv=document.getElementById('div1');  
    alert(getStyle(oDiv,'width'))  
}  
</script>  
</head>  
   
<body>  
<div id="div1"></div>  
</body>  
</html>  

  

原文地址:http://blog.csdn.net/cui_angel/article/details/7815328

posted @ 2015-01-09 11:06  D_QQ  阅读(185)  评论(0编辑  收藏  举报