2017-04-13 22 views
1
var div= document.getElementById('foo'); 
console.log(div); 
console.log(div.scrollHeight); 

コンソールの最初のログから返されたdivのDOMをクリックすると、scrollHeightはxで、2番目のログはyを出力します。 x!= y、divで返されたdivの高さが正しくない

+2

コンテンツはまだ/レンダリングをロードしていますか? – epascarello

+0

しかしdiv.scrollheightの前にdivを記録していますが、divでは正しい値です。たぶんそれはまだケースです、どのように純粋なjavascript/angularjsでそれを修正するには? – user3761308

+0

要素の高さを取得したい場合は、 "div.clientHeight"を使用すれば正確にそれを得ることができます。 – garglblarg

答えて

0

使用のjQueryにロードされるまで待つことを.LOAD。

alert($("divId").height()); 

またはJavaScript

var clientHeight = document.getElementById('divId').clientHeight; 

または

var offsetHeight = document.getElementById('divId').offsetHeight; 
+1

'var div = document.getElementById( 'foo'); console.log(div.scrollHeight); 'to' console.log(document.getElementById( 'foo')。scrollHeight) 'は正しい値を出力します。 – user3761308

1

ここで私は完全な高さを得ています。これまでに試したコードを教えてください。

<!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>

0

使用すると、その要素はdiv要素の高さを取得するには、DOM

$('#foo').load(function(){ 
    // your code to find height 
    $('#foo').height() 
    }); 
関連する問題