我有这样的结构:
<div class="a">
<div class="b"></div>
<div class="b"></div>
<div class="b"></div>
<div class="b"></div>
</div>
<div class="a">
<div class="b"></div>
<div class="b"></div>
</div>
<div class="a">
<div class="b"></div>
<div class="b"></div>
<div class="b"></div>
</div>
我想找到设置为a的每个div类中设置为b的最高div,并在alert中显示?
答案 0 :(得分:6)
您可以使用.map()
生成一个jQuery对象(在本例中它实际上是一个数字数组),其中包含每个匹配元素的高度。然后,您可以apply
将该数组Math.max
确定为其中的最大值:
var maxHeight = Math.max.apply(Math, $(".b").map(function () {
return $(this).height();
}));
更新(这个应该与您在问题中指定的完全相同)
$("div.a").each(function () {
alert(Math.max.apply(Math, $("div.b", this).map(function () {
return $(this).height();
})));
});
这是另一个working example。
答案 1 :(得分:5)
$('.a').each(function() {
var maxHeight = 0;
$('.b', this).each(function() {
if($(this).height() > maxHeight) {
maxHeight = $(this).height();
}
});
alert(maxHeight);
});