var div= document.getElementById('foo');
console.log(div);
console.log(div.scrollHeight);
當我點擊控制檯中第一個日誌返回的div的DOM時,它的scrollHeight是x,而第二個日誌打印出y。 x!= y,JS返回div的高度不正確
var div= document.getElementById('foo');
console.log(div);
console.log(div.scrollHeight);
當我點擊控制檯中第一個日誌返回的div的DOM時,它的scrollHeight是x,而第二個日誌打印出y。 x!= y,JS返回div的高度不正確
使用jQuery加載得到一個div的高度。
alert($("divId").height());
或JavaScript
var clientHeight = document.getElementById('divId').clientHeight;
或
var offsetHeight = document.getElementById('divId').offsetHeight;
更改'var div = document.getElementById('foo'); console.log(div.scrollHeight);'to'console.log(document.getElementById('foo')。scrollHeight)'輸出正確的值。 – user3761308
我可以看到,在這裏我越來越完美了。你可以給你的代碼,你已經嘗試到目前爲止?
<!DOCTYPE html>
<html>
<head>
\t <title></title>
</head>
<body>
\t <div id="foo">HELLO WORLD!!!</div>
\t <script type="text/javascript">
\t var div= document.getElementById('foo');
\t console.log(div);
\t console.log(div.scrollHeight);
\t console.log(div.clientHeight);
\t console.log(div.offsetHeight);
\t </script>
</body>
</html>
使用.load要等到該元素在DOM
$('#foo').load(function(){
// your code to find height
$('#foo').height()
});
內容仍在加載/渲染? – epascarello
但我在div.scrollheight之前記錄div,在div中它是正確的值。也許它仍然是這樣,如何解決它在純JavaScript/angularjs? – user3761308
如果你只是想得到一個元素的高度,你可以使用「div.clientHeight」,它應該給你。 – garglblarg