选择所有元素的最大高度

时间:2010-10-24 15:23:31

标签: javascript jquery

这是我的代码。

    v=dom.find("ul:first").outerHeight(); // the height of the first li element
            // instead of taking the height of the first li element, it should loop through all
            // li elements and set v to the element with the biggest height

代码中间的注释几乎解释了一切。我需要循环遍历所有li元素并获取最大高度,而不是取第一个元素的高度。

4 个答案:

答案 0 :(得分:3)

var v = 0;
// ...
dom.find('ul:first').children('li').each(function() {
    var height = $(this).outerHeight();
    v = height > v ? height : v;
});

答案 1 :(得分:1)

您可以使用jquery .each()方法遍历每个元素,使用.height()方法来确定元素的高度。确定最大高度,声明变量,maxheight = 0,如果元素高度大于maxheight,则将maxheight设置为元素高度。

var maxheight = 0;
$('ul').each(function(index) {
     if($(this).outerHeight() > maxheight) maxheight = $(this).outerHeight();
});

答案 2 :(得分:0)

var el, max = 0;
$("ul").each(function(){ 
  var height = $(this).outerHeight();
  if (height > max) {
    el  = this;
    max = height;
  }
});

答案 3 :(得分:0)

var maxHeight = Math.apply(null, $('ul:first > li').map(function() { 
  return $(this).outerHeight();
}));

这也很有效,只是没有额外的变种。