我有两个div,我想让它们的长度相等。Div1的文本决定了它的高度。Div2是一个滚动框,它的表观高度应该与div1相同。下面的代码
<script>
var div1Height = ((document.getElementById('div1').offsetHeight) + 'px');
document.getElementById('div2').style.height = div1Height;
</script>
使div2具有与div1几乎相同的高度,但不完全相同。我怀疑在脚本运行后应用了一些填充或边距,但在删除所有这些之后,两个高度仍然不匹配。有办法解决这个问题吗?
你在用两种不同的方法测量身高。在div1中使用offsetHeight,在div2中使用style.height.
改变var div1Height = ((document.getElementById('div1').offsetHeight) + 'px');
var div1Height = ((document.getElementById('div1').style.height) + 'px');
那么你会得到相同的值,因为你使用相同的测量方法。
请注意,您已经在div1上设置了style="height:[x] px;"Height从元素的style-attribute中检索(Height)信息。
我不知道你为什么在javascript中这样做。你可能有你的理由,但纯css几乎肯定也会工作(当然取决于你想要达到的效果)