我在获取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>
希望你能帮忙!谢谢!
答案 0 :(得分:7)
没有ID postHeight
的元素。也许你的意思是
var result=document.getElementById('content').offsetHeight;
此外,此计算必须在 之后 完成您正在计算的元素(因此要么将<script>
放在元素之后,要么推迟onload
或类似的执行。
答案 1 :(得分:1)
由于脚本标记出现在DOM中元素存在之前,因此无法获得高度。您可以在获取高度之前放置一个等待文档加载的事件处理程序,或者将该脚本移动到页面底部,但在元素存在之前仍然会调用document.write
。你需要重新考虑你的设计。
示例代码:
<div id=getme>
some text to give it height.
</div>
<script>
document.write(document.getElementById("getme").clientHeight);
</script>
答案 2 :(得分:0)