js获取css中的样式

众所周知,obj.style只能够获取

<div id="a" style="100px;"></div>

结构上的样式

如果想要获取:

    <style>
        div{width:100px;}
    </style>

的样式的话,需要:

    function getStyle(obj, attr)
    {
        if(obj.currentStyle)
        {
            return obj.currentStyle[attr];
        }
        else
        {
            return getComputedStyle(obj, false)[attr];
        }
    }
最后完整案例:
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        div{width:100px;}
    </style>
</head>
<body>
<div id="a"></div>
</body>
</html>
<script type="text/javascript">
    function getStyle(obj, attr)
    {
        if(obj.currentStyle)
        {
            return obj.currentStyle[attr];
        }
        else
        {
            return getComputedStyle(obj, false)[attr];
        }
    }
    var div = document.getElementById("a");
    var b = getStyle(a,"width");
    console.log(b);
</script>





原文地址:https://www.cnblogs.com/wang715100018066/p/6256940.html