昨日、新しいテーブル行を追加する方法について質問しましたが、複製された行のcssを変更します。その質問に対する答えを得ました!(リンク)しかし、新しい問題が発生しました。
私は次のようなテーブルを持っています:
<table class="test">
<thead>
<tr>
<td><b>header 1</b></td>
<td><b>header 2</b></td>
<td><b>header 3</b></td>
<td><b>header 4</b></td>
</tr>
</thead>
<tbody>
<tr class="1">
<td>data 1</td>
<td>data 2</td>
<td>data 3</td>
<td class="remove"></td>
</tr>
<tr class="2">
<td>data 1</td>
<td>data 2</td>
<td>data 3</td>
<td class="remove"></td>
</tr>
<tr class="new">
<td>data 1</td>
<td>data 2</td>
<td>data 3</td>
<td class="new"></td>
</tr>
</tbody>
<table>
Jqueryコード:
$("table.test tr.new:last td.new").click(function(){
var x = $('table.test tr.new:last').clone(true);
$(this).removeClass('new').addClass('remove').off('click');
x.insertAfter('table.test tr.new:last');
});
$("table.test tr td.remove").click(function(){
$(this).closest("tr").fadeOut('slow');
});
td.newセルをクリックすると、行を追加します。これは機能しています。また、クラスはtd.removeセルで変更されます。ただし、クリックイベントは正しく機能しません。削除セルは常に行を削除する必要があります。.off()関数と.on関数を使用する必要があることはわかりましたが、この関数の背後にあるロジックを理解できないようです。次の画像は私が目指しているものです:postimage
私が今持っているもののJsfiddleの例はここで見つけることができます