如何使用jQuery找到最大的表格单元格高度?

时间:2010-11-08 19:02:26

标签: javascript jquery

我有一个包含可变长度文本内容单元格的表格。我想找到最高的细胞的高度,然后使所有的细胞高度。我怎么能这样做?

5 个答案:

答案 0 :(得分:26)

像这样:

var max = 0;    
$('table td').each(function() {
    max = Math.max($(this).height(), max);
}).height(max);

用简单的英语,遍历所有单元格并找到最大值,然后将该值应用于所有单元格。

答案 1 :(得分:3)

只是为了与众不同:

var heights = $('td').map(function() {
    return $(this).height();
}).get();

var maxHeight = Math.max.apply(Math, heights);

$('td').css('height', maxHeight);

答案 2 :(得分:0)

several plugins可以为您执行此操作。但是,代码看起来像这样:

var tallest = 0;
$('table td').each(function() {
  if (tallest < $(this).height()) {
    tallest = $(this).height();
  }
});

$('table td').css({'height': tallest});

答案 3 :(得分:0)

贡献@tatu ulmanen的例子

这是显而易见的但是如果你只是想用更高的单元格来拉伸行包裹一个tr循环:)

$('table tr').each(function (){
    var max = 0;
    $(this).find('td').each(function (){
        max = Math.max($(this).height(), max);
    }).height(max);
});

答案 4 :(得分:-1)

您可以将jQuery与以下代码一起使用


var maxHeight = 0;
$('#yourTableID td').each(function(index, value)
{
if ($(value).height() > maxHeight)
maxHeight = $(value.height());
}).each(function(index, value) {
$(value).height() = maxHeight;
});

希望有所帮助