2011-11-16 44 views
3

我有两个表格,分别是表格1和表格2(两者都有相同的行数) 对于表格1中的每一行,我希望设置表2中对应单元格的高度等于表1中对应单元格的高度。即table2-row1-col1 = table1-row1-col1和类似。使用jQuery或javascript更改表格单元格的高度属性的值

请帮帮我。

+0

为表1提供一些HTML代码和表2 PLE .. – run

+0

在某些情况下,问题不言自明。这个看起来很清楚。不确定某些表格标记如何更清楚地解释问题。 –

回答

3

使用.each循环通过所述第一表中的行,并使用.eq()以选择表-2行,其对应于每个表-1行:

$('#table1 tr').each(function(i,el) { 
    var hgt = $(this).height(); 
    $('#table2 tr').eq(i).height(hgt); 
}); 

http://jsfiddle.net/mblase75/sCdRk/

+0

但如何使表格单元高度相等。使'tr'高度相等并不是解决方案。 –

+2

表格行中的所有单元格必须具有相同的高度。 – Blazemonger

+0

对我很好。漂亮和整洁。 –

2

假设两个表具有完全相同的行数,下面的工作。如果它们不同,则在设置高度之前,需要检查是否存在匹配的table1行。

var $table1 = $("#table1"); 
var $table2 = $("#table2"); 

$("TR", $table2).each(function(index) { 
    $(this).css("height", $("TR", $table1).eq(index).css("height")); 
}); 

小提琴here证明它的工作原理。

+1

不错。对于一个傻笑,我想确保它可以适应多线,并保持。小提琴:http://jsfiddle.net/3YaPj/3/ –

0

首先,您必须确保两个表具有相同的行数或添加一些索引检查代码以避免出现OutOfIndex错误。

下面是一些代码,只是FYI:

var tbl2Rows = $("#tbl2 > tbody > tr"); 
$("#tbl1 > tbody > tr").each(function(index){ 
    console.log($(this).height()); 
    $(tbl2Rows.get(index)).height($(this).height()); 
}); 
相关问题