我有许多容器(class =“sidebox”),每个容器的div都有不同的内容。
在某些情况下,我希望每个子div都是父div的100%高度,有时候会添加一个垂直分隔符样式。
为此,我将一个cfull
类添加到子div,vcon
添加到容器中,类为'sidebox'。
然后调用jquery函数:
var y = $('.cfull').parent('div.vcon').height();
$(".cfull").height(y) ;
当只有一个实例时,将其子项div高度设置为侧箱的高度时,这非常完美。
如果我在html中添加第二个sidebox vcon
并给其中一个孩子div其他内容。第二个sidebox子div获取从sidebox的第一个实例设置的高度
如何在class="sidebox vcon"
容器div中设置每组子div的高度?
我希望这是有道理的。
到目前为止,这是我的工作示例,您会看到第二个侧箱儿童从第一个侧箱中获得style="height:#px"
答案 0 :(得分:6)
您正在做的事情称为隐式迭代。当你这样做时:
$('.cfull').height(y);
...您正在做的是将所有.cfull
元素设置为仅一个高度值(y
的当前值)。
您希望明确地遍历每个元素,可能使用.each()
。
$('.cfull').each(function () {
var self = $(this),
container = self.parent('div.vcon');
self.height(container.height());
});
但是,您应该能够使用纯CSS完成您想要实现的目标。你尝试过做这样的事吗?
.cfull {
height : 100%;
}
答案 1 :(得分:3)
您需要使用.cfull
类循环遍历所有元素。实例:http://jsfiddle.net/QpEgX/5/
$('.cfull').each(function() {
var y = $(this).parent('div.vcon').height();
$(this).height(y) ;
});
答案 2 :(得分:0)
var height = 0;
$('.cfull').each(function () {
height = $(this).parent('div.vcon').height();
$(this).height(height);
});