2017-05-09 50 views
2

如何獲得實際高度不jQuery的

var test = document.getElementById('test'); 
 
console.log(test.offsetHeight);
<div style="height: 30px;" id="test"> 
 
    <p>ffffffffff</p> 
 
    <p>gggggggggg</p> 
 
    <p>aaaaaaaaaa</p> 
 
    <p>dddddddddd</p> 
 
</div>
正如你所看到的,在 test div的內容是 overflow和超過 30px:那麼如何才能得到準確的高度?

+2

的可能的複製[獲取與普通的JavaScript的div高度(http://stackoverflow.com/questions/15615552/get-div-height-with-plain-javascript) – KarelG

回答

0

試試這個:

window.getComputedStyle(document.getElementById('test')).height 
0

嘗試:

var test = document.getElementById('test'); 
alert(test.clientHeight); 
0

試試這個。

var offsetHeight = document.getElementById('test').offsetHeight; 
2

var test = document.getElementById('test'); 
 
alert(test.scrollHeight);
<div style="height: 30px;" id="test"> 
 
    <p>ffffffffff</p> 
 
    <p>gggggggggg</p> 
 
    <p>aaaaaaaaaa</p> 
 
    <p>dddddddddd</p> 
 
</div>

嘗試scrollHeight

0

您可以使用.clientHeight.offsetHeight;

有什麼區別?

.clientHeight包括填充。

.offsetHeight包括填充,滾動條和邊框。

var clientH = document.getElementById('test').clientHeight; 
 
var offsetH = document.getElementById('test').offsetHeight; 
 

 

 
console.log(clientH); 
 
console.log(offsetH);
<div style="height: 30px;" id="test"> 
 
    <p>ffffffffff</p> 
 
    <p>gggggggggg</p> 
 
    <p>aaaaaaaaaa</p> 
 
    <p>dddddddddd</p> 
 
</div>

相關問題