我有2个div。由于div 1可能更长,即无限滚动div,我想使用javascript使div 2与div 1具有相同的高度。我试图使用下面的代码,但它不起作用。为什么呢?
的javascript:
<script type="text/javascript">
document.getElementById("div2").setAttribute("height",document.getElementById("div1").clientHeight);
</script>
我的divs:
#div1 {
width: 700px;
background: #FFF;
overflow: hidden;
float: left;
}
#div2 {
width: 300px;
background-image: url(../images/user_panel.png);
background-repeat:repeat-y;
}
答案 0 :(得分:0)
这个怎么样:
var div1 = document.getElementById("div1");
var div2 = document.getElementById("div2");
div2.style.height = div1.style.height; // Might have to add +"px" here.
就在我的头顶。
答案 1 :(得分:0)
setAttribute
函数是一个DOM函数,用于向HTML元素添加新属性。您正尝试在div上添加height
。这会产生影响:
<div id="div2" height="...">...</div>
但HTML没有定义这样的height
HTML元素属性。
您要找的是设置DOM元素的样式。那将是style
DOM元素属性。在style
内,您必须设置height
属性:
document.getElementById("div2").style.height = document.getElementById("div1").clientHeight + "px";
在上面的代码示例中,您可能还会考虑div1
的填充(可能会将其带入计算中)。这是因为clientHeight
包含填充但style.height
没有。
答案 2 :(得分:0)
这应该可以解决问题:
document.getElementById("div2").style.height=document.getElementById("div1").clientHeight+'px';