我正在尝试创建一个计算div'id'高度的脚本,并返回与margin-top相同的值。但这不行。怎么了?
<script language="text/javascript">
var height = document.getElementById('id').innerHeight;
document.getElementById('id').style.marginTop = height + 'px';
</script>
提前致谢!
答案 0 :(得分:2)
请记住,您应该只在触发onload
事件后操纵DOM,或者在触发DOMContentLoaded
事件时操纵现代浏览器。无论如何,onload
对你的情况会很好。
尝试:
<script language="text/javascript">
window.onload = function() {
var height = document.getElementById('id').innerHeight;
document.getElementById('id').style.marginTop = height + 'px';
}
</script>
答案 1 :(得分:2)
尝试;
<script type="text/javascript">
window.onload = function() {
var height = document.getElementById('mydiv').offsetHeight;
document.getElementById("mydiv").style.marginTop = height+'px';
}
</script>
Here 是一个现场演示。
答案 2 :(得分:0)
您的js中的第一个错误是language="text/javascript"
,它必须是type="text/javascript"
。并尝试使用offsetHeight
代替innerHeight
<script type="text/javascript" >
var height = document.getElementById('id').offsetHeight;
document.getElementById('id').style.marginTop = height + 'px';
}
</script>
并将其称为onload
事件。
谢谢,