2011-11-16 4 views
3

テーブル1とテーブル2の2つのテーブルがあります(どちらも同じ行数) テーブル1の各行について、表2の対応するセルの高さは、表1の対応するセルに等しい。すなわち、table2-row1-col1 = table1-row1-col1等である。jqueryまたはjavascriptを使用してテーブルセルの高さ属性の値を変更する

私を助けてください。

+0

はTABLE1とtable2のPLEのためのいくつかのHTMLコードを提供。..いくつかのケースでは – run

+0

質問は、自分自身のために話します。これは明らかです。いくつかのテーブルマークアップがどのようにして問題をはっきりと説明するのかは不明です。 –

答えて

3

最初のテーブルの行をループするために使用.each、それぞれ表1の行に対応する表2の行を選択するために.eq()を使用:

$('#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エラーを回避するために、2つのテーブルの行数が同じか、インデックスチェックコードを追加する必要があります。ここで

がちょうどFYI、いくつかのコードです:

var tbl2Rows = $("#tbl2 > tbody > tr"); 
$("#tbl1 > tbody > tr").each(function(index){ 
    console.log($(this).height()); 
    $(tbl2Rows.get(index)).height($(this).height()); 
}); 
関連する問題