2011-11-16 45 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()); 
}); 
相關問題