2013-07-14 48 views
0

我有2个div。由于div 1可能会更长,也就是无限滚动div,所以我想使用javascript将div 2与div 1制作成相同的高度。我试图使用下面的代码,但它不起作用。为什么?如何根据另一个div高度使用javascript设置div高度?

的javascript:

<script type="text/javascript"> 
document.getElementById("div2").setAttribute("height",document.getElementById("div1").clientHeight); 
</script> 

我的div:

#div1 { 
width: 700px; 
background: #FFF; 
overflow: hidden; 
float: left; 
} 

#div2 { 
width: 300px; 
background-image: url(../images/user_panel.png); 
background-repeat:repeat-y; 
} 
+3

你应该等待DOM要获得任何元素的高度 – slash197

+0

根据您的html的样子,你可以做到这一点在CSS独自前准备好。 – bestprogrammerintheworld

回答

0

这个怎么样:

var div1 = document.getElementById("div1"); 
var div2 = document.getElementById("div2"); 
div2.style.height = div1.style.height; // Might have to add +"px" here. 

只是从我的头顶。

0

setAttribute函数是向HTML元素添加新属性的DOM函数。您正试图在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不包含。

0

这应该做的伎俩:

document.getElementById("div2").style.height=document.getElementById("div1").clientHeight+'px'; 
相关问题