jQuery查找子元素的高度并应用于父元素
jQuery find the height of children and apply to parent
我有几个子元素,它们将具有不同的高度,并且在页面加载后具有改变高度的能力,因为它们内部的内容将是动态的,其中一些将占用父元素宽度的50%,有些将占用父元素宽度的100%。我需要的是找到所有子元素的高度,当他们正确布局,并将其应用到父元素和高度被重新应用,如果有对子元素的任何变化。我需要对父元素应用height的原因是为了使另一个jQuery工作。
我创建了一个小示例http://cdpn.io/hrbjw示例代码http://codepen.io/julianvk/pen/hrbjw
如果这还不够清楚,请注释哪部分令人困惑
我不确定我写对了,但是…
如果你的孩子的身高可以动态变化,你不能跟踪它何时发生,你可能需要创建一个监听器来检查他们的身高是否发生了变化。不幸的是,没有DOM事件,但你可以参考这个问题的解决方案,检测当一个div的高度变化使用jQuery。
一旦你有了一些回调函数被调用,每当高度改变,你只需要迭代你的孩子,得到他们的高度,并做出你想要的改变。
编辑:你知道什么是触发器,你可以使用像
这样的东西function change_parent_height(){
$(".child").each(function() {
child_height = $(this).height();
}
//do something with the children heights
//in this example, parent is gonna get the last child height
$(".parent").height(child_height);
}
$(document).resize(change_parent_height);
$(".child").on("hover click", change_parent_height);
use .css()
http://jsfiddle.net/8R4Lh/$(".whatever").css("height", $(".child").css("height"));
虽然将父元素设置为height auto也可以做到。
这可能与您想要做的类似:
http://codepen.io/anon/pen/CtBlq我有一个类似的问题,我希望父元素的高度与最高的子元素匹配。我希望这个匹配在页面加载完成后立即发生,并且我希望只将它应用于属于a '的元素。父类。
我的jQuery代码如下:$(window).bind("load", function() {
adjust();
function adjust() {
$('.parent').each(function(i, parent_obj) {
var maxHeight = 0;
$(parent_obj).children().each(function(j, child) {
maxHeight = ($(child).height() > maxHeight ? $(child).height() : maxHeight);
});
$(parent).css("min-height", maxHeight)
});
}
});
$(窗口)。Bind ("load", function(){…}); 当页面加载完成时执行该函数。上述函数的HTML代码示例如下:
<!--This section is affected by our jQuery script-->
<div class="parent">
<div class="child-div1"><img src="image.jpg"/> </div>
<img src="image2.jpg">
<div class="child-div2"></div>
</div>
<!--This section is not affected-->
<div class="weird-uncle-bob">
<div class="non-influencial-child">
I can be as tall as I want to be. Bob is not gonna get taller.
</div>
</div>
另外,请注意,这也有单独影响每个父元素的好处。我有一个问题,影响所有属于'的元素。同时为父类;不仅仅是受影响的特定元素。这就解决了这个问题!
- 将自定义javascript函数应用于iframe元素
- CSS: jQuery:将右边距应用于 li 元素,除了每个第 4 个子元素(仅适用于 display:block 的元
- jQuery将“x”号图像元素应用于SRC和类
- 将 css 样式应用于 javascript 调用中的 :after 伪元素
- 如何将CSS应用于Javascript添加的元素
- 您能否通过JavaScript将媒体查询特定样式应用于HTML元素
- 可以/应该将多个自定义指令应用于Angular中的同一元素
- 聚合物:将动画应用于dom重复模板中的dom元素
- 将点击/悬停函数应用于JS中的多个元素类
- 将jQuery应用于ajax加载的HTML元素
- 当将.click()应用于li元素时,应该使用什么选择器
- 将jquery插件应用于dom元素
- 将显示功能应用于ajax成功创建的元素
- 如何将工具提示应用于d3嵌套层(流图)中的元素
- 将焦点样式事件应用于UL标记元素
- 将jQuery动画应用于Angular JS在加载时动态加载的视图中的元素
- 有没有一种更优雅的方法将 css 应用于“除了这个元素之外的所有元素”
- 如何用.not改变选择器来应用于dom元素
- 全局样式未应用于Chrome 36中Polymer元素中的Shadow DOM子项
- 将数据元素应用于“数据表”单元格