有没有办法在不使用JQuery的情况下获得div的整个宽度,包括边距?
div.outerWidth
似乎不起作用且clientWidth
排除了边距。
答案 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>