Div宽度Javascript

时间:2014-01-29 15:36:35

标签: javascript

有没有办法在不使用JQuery的情况下获得div的整个宽度,包括边距?

 div.outerWidth 

似乎不起作用且clientWidth排除了边距。

2 个答案:

答案 0 :(得分:0)

据我所知,没有单一的财产价值来实现这一目标。

基本上你需要获得边距宽度(左边和右边)并将它们添加到现有尺寸中。此外,除非您使用大小调整(默认情况下),否则您还需要左右添加填充。

您可以使用getComputedStyle获取所需的实际值。例如:

window.getComputedStyle(element, null).getPropertyValue("margin-left");

编辑: 我忘记了边框:P ....左右边框宽度......

答案 1 :(得分:0)

请看下面的代码,有220的警报总宽度,包括保证金。

<style>
    #myDiv{
        width:200px;
        height:200px;
        margin:10px;
    }
</style>
<div id='myDiv'>
</div>
<script>
    var div = document.getElementById('myDiv');
    var style = window.getComputedStyle(div);
    var leftMargin = parseInt(style.marginLeft.match(/\d+/));
    var rightMargin = parseInt(style.marginRight.match(/\d+/));
    alert(div.clientWidth + leftMargin + rightMargin);
</script>