jQuery .each和div的高度

时间:2012-07-19 07:48:44

标签: jquery height each

我有这样的结构:

<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中显示?

2 个答案:

答案 0 :(得分:6)

您可以使用.map()生成一个jQuery对象(在本例中它实际上是一个数字数组),其中包含每个匹配元素的高度。然后,您可以apply将该数组Math.max确定为其中的最大值:

var maxHeight = Math.max.apply(Math, ​$(".b").map(function () {
    return $(this).height(); 
}));

这是working example


更新(这个应该与您在问题中指定的完全相同)

$("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);
});