2

tr:last セレクターに問題があります。

私は基本的なテーブルを持っています:

<table id="myTable">
 <tr>
   <td>1</td>
   <td></td>
 </tr>
</table>

ユーザーがリンクをクリックすると、次を使用してテーブルに追加の行が追加されます。

$("a#more").live("click", function(){

  $table = $('#myTable');
  var a = $table.find('tr:last').clone(true);
  $table.find('tr:last').after(a);  

});

これは魅力のように機能します。ただし、テーブルの最後に追加のテーブルを追加することにしたときに問題が発生しtdます。

<table id="myTable">
 <tr>
  <td> 1 </td>
  <td>
    <table id="myTable2">
    <tr><td> Additional Information </td></tr>
    </table>
  </td>
</tr>
</table>

clone 今回使用すると、2 番目のテーブルの最後の行が選択され、新しい行が 2 番目のテーブルにコピーされます。私の目標は、最初のテーブルの最後の行全体のみを複製し、trその中のすべての内容 (2 番目のテーブルのコピーを含む) を含む新しい行を作成することです。

どうすればいいのかわかりません。

4

1 に答える 1

5

それ以外の

var a = $table.find('tr:last').clone(true);

.children()元のテーブルに制限するために使用します。

var a = $table.children('tbody').children('tr:last').clone(true);
于 2013-02-25T19:22:49.500 に答える