あなたはすることができますdiv
のようなコンテナコントロール内にその内容をラップしない限り、テーブルセルの幅(td
)を制御しません。次のjQuery関数はdiv内の各tdの内容をラップします。
function WrapTableCellsWithDiv(tableId)
{
$('#' + tableId + ' tbody tr td').each(function()
{
//get corresponding th of this td
var tdIndex = $(this).index();
var th = $('#' + tableId + ' thead tr th:nth-child(' + (tdIndex + 1) + ')');
var thWidth = $(th).width();
//wrap the contents of td inside a div
var tdContents = $(this).html();
var divTag = '<div style="width: ' + thWidth + '">' + tdContents + '</div>';
$(this).html(divTag);
});
}
この関数はdiv
タグ内の各td
要素の内容をラップします。 div
タグの幅は、対応するth
要素の幅に設定されます。
サンプルテーブルの構造:
<table id="SampleTable">
<thead>
<tr>
<th style="width: 90px;">FirstName</th>
<th style="width: 90px;">LastName</th>
<th style="width: 60px;">Age</th>
<th style="width: 70px;">Gender</th>
</tr>
</thead>
<tbody>
<tr>
<td>John</td>
<td>Smith</td>
<td>25</td>
<td>Male</td>
</tr>
<tr>
<td>Ted</td>
<td>Eddie</td>
<td>22</td>
<td>Male</td>
</tr>
<tr>
<td>Angel</td>
<td>Mike</td>
<td>23</td>
<td>Female</td>
</tr>
</tbody>
</table>
「テーブルレイアウト:固定」テーブル自体のスタイルでは、私のために働いた唯一のものです。 –