7

aの高さを取得するのに問題があります(以下のコードのclass = "post_div")。そして、私はdocument.writeでHTML本体に戻りたいと思います。後で、他の要素の高さとして使用して、同じにしたいのです。そのような要素の高さを取得するために可能なすべてのコードを試しましたが、毎回「undefined」を返します。また、DIVのheight=autoを設定してみました。私の問題は私が身長を取得する方法とは関係がないことはほぼ確実ですが、それが他に何であるかについて他の考えはありません!したがって、私はコーディングの完全な構造であなたを悩ませることを選択しました。JavaScriptは、次のステートメントのみを含む別のドキュメントに配置されます。

var result=document.getElementById('postHeight').offsetHeight;

私のHTMLドキュメントは次のようになります

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<head>
<title>...</title>
<link rel="stylesheet" type="text/css" media="all" href="C:\Users\Lasse\Desktop\hg2\hg2.css" />
<script src="C:\Users\Lasse\Desktop\hg2\hg2.js"></script>
</head>
<body>

<script>document.write(result)</script>

<div id="postHeight" class="post_div">
...             
</div>


</body>
</html>

あなたが助けることができることを願っています!ありがとう!

4

2 に答える 2

11

IDを持つ要素はありませんpostHeight。おそらくあなたは意味しました

var result=document.getElementById('content').offsetHeight;

さらに、この計算は、計算している要素がロードされた<script>に実行する必要があります(したがって、要素の後にafterを配置するか、または同様の方法で実行を延期しonloadます)。

于 2012-11-18T14:45:04.533 に答える
1

スクリプトタグは要素がDOMに存在する前に発生するため、高さを取得できません。高さを取得する前にドキュメントが読み込まれるのを待機するイベントハンドラーを配置するか、そのスクリプトをページの下部に移動するdocument.writeこともできますが、要素が存在する前に呼び出されます。あなたはあなたのデザインを再考する必要があります。

サンプルコード:

<div id=getme>
    some text to give it height.
</div>
<script>
    document.write(document.getElementById("getme").clientHeight);
</script>
于 2012-11-18T15:02:59.267 に答える