我的桌子里面有一个<tr>
和6个<td>
。我使用一些代码来删除tr,然后在最后一个td之后放置一个新的tr标记。
在
<table id="datatable" class="datatable_class">
<tbody>
<tr>
<td id="td1">title 1</td>
<td id="td2">contents 1 need to go to new tr</td>
<td id="td3">title 2</td>
<td id="td4">contents 2 need to go to new tr</td>
<td id="td5">title 3</td>
<td id="td6">contents 3 need to go to new tr</td>
</tr>
</tbody>
在
<table id="datatable" class="datatable_class">
<tbody>
<td id="td1">title 1</td>
<td id="td2">contents 1 need to go to new tr</td>
<td id="td3">title 2</td>
<td id="td4">contents 2 need to go to new tr</td>
<td id="td5">title 3</td>
<td id="td6">contents 3 need to go to new tr</td>
<tr></tr>
</tbody>
我现在想要实现的是.appendTo()
我新创建的tr的所有奇怪的td。这很好但现在的问题是我在<body>
中有另一张桌子,当我开始移动td时,我也将td&#39; s从我的另一张桌子移到这个新的tr。
我尝试使用它来过滤而没有运气
$("#datatable > tbody > td.odd").appendTo('#fix_name').css( "background-color", "red" );
答案 0 :(得分:2)
以下是如何移动所需的表格单元格而不影响第二个表格的方法。更确切地说,您可以使用表格ID代替table:first
- #datatable td:odd
是一个更精确的选择器。
$('#simple_button').click(function () {
$( '<tr id="fix_name"/>' ).insertAfter( $("#td6").closest('tr') );
$( 'table:first td:odd' ).appendTo('#fix_name').css( "background-color", "red" );
});
答案 1 :(得分:1)
道歉,如果这不是你所希望的 - 我对你为什么要删除TR感到有点困惑。但是,如果我理解你想要做什么,我认为你可以通过改变这个来轻松解决你的问题:
$("#datatable > tbody > td.odd").appendTo('#fix_name').css( "background-color", "red" );
到此:
$( '#datatable td:odd' ).appendTo('#fix_name').css( "background-color", "red" );
(将选择器更改为(“#datatable td:odd”))。您可以使用此edit of your fiddle查看结果,我认为这样做符合您的要求。
希望这对你有用;否则,我建议重新考虑删除。请注意,向第一行(或选择第一行的任何其他机制,例如id
)添加$('#data-table tbody tr:nth-child(1)')
也可以正常工作并保持正确的格式。您可以查看示例here。