我有一个没有ID / Class的表格行需要移动到另一个表格的底部,请参阅JSfiddle
需要将以下内容移动到该表中最后一行上方的另一个表中 请在此处查看完整代码:FIDDLE
<table class="BBFormTable DonationFormTable">
<tbody>
<tr>
<td class="BBFieldCaption DonationFieldCaption">
<label id="PC1567_lblLgnCtl195" for="PC1567_195">Additional Honor/Memorial Name:</label>
</td>
<td class="taLeft" id="PC1567_ParentControl195"><input type="text" class="BBFormTextbox LoginFormTextbox" id="PC1567_195" maxlength="250" name="PC1567$195"></td>
</tr>
</tbody>
</table>
答案 0 :(得分:1)
试试这个:
var $movingRow = $('#PC1567_lblLgnCtl195').parents('tr');
if ($movingRow) {
var $destinationRow = $('#PC1567_chkAcknowledge').parents('tr');
$movingRow.insertAfter($destinationRow);
}
http://jsfiddle.net/Palpatim/yFtC7/3/
诀窍是锁定你想要使用的元素附近的 ,并使用jQuery的帮助函数从那里导航。
确保花一些时间阅读jQuery文档。一些函数,特别是对于DOM操作,需要仔细阅读(例如,insert和insertAfter可能表现得与预期不同)。
关于jQuery的一个好处:只要在选择器路径中有某个确定的ID 某处,您通常可以导航。它绝对不是最有效的做事方式,它很脆弱(如果你的结构发生变化,或者你的怪异ID改变了,你的脚本就没有效果了),但这至少应该给你一些入门的想法。
答案 1 :(得分:0)
如果你不能依赖于ids,那么试试
jQuery(function ($) {
$('.BBFormTable.DonationFormTable > tbody:last > tr:last').before($('tr').has('> td > label:contains("Additional Honor/Memorial Name:")'))
})
演示:Fiddle