2014-01-29 86 views
0

有沒有辦法在不使用JQuery的情況下獲得div的整個寬度(包括邊距)?Div寬度Javascript

div.outerWidth 

似乎不起作用而clientWidth不包括利潤。

+0

jQuery有很多內置的語法 - 糖,它處理Web瀏覽器之間的差異,尤其是每個瀏覽器處理盒模型的方式。然而,在這裏搜索一些可能已經揭示了這一點:http://stackoverflow.com/questions/4787527/how-to-find-the-width-of-a-div –

+0

offsetWidth不包括邊距 – user3219182

+0

重要的是要記住jQuery建立在JavaScript之上。也就是說,任何jQuery都可以做,JavaScript可以做。 – George

回答

0

據我記得,沒有單一的財產價值得到這個。

基本上,您需要獲得邊距寬度(左側和右側)並將它們添加到您現有的尺寸。此外,除非您正在使用框大小(默認情況下您是而不是),您還需要添加填充左側和右側。

您可以使用getComputedStyle獲取您需要的實際值。例如:

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

編輯: 我忘了邊界:P ....左右邊框寬度,以及...

0

請有下面的代碼一看,有作爲的警覺總寬度包含保證金的Div 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>