我正在使用 javascript 函数 insertAfter 和 insertBefore,但是我正在尝试 insertAfter 和 insertBefore 2 个元素。
例如,考虑以下 HTML
<table>
<tbody>
<tr>
<td>
Item 1
</td>
<td>
<div class="moveUpDown">
<div class="up">
</div>
<div class="down">
</div>
<div>
</div>
</div>
</td>
</tr>
<tr>
<td colspan="2">
<table>
<tr>
<td>
1
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td>
Item 2
</td>
<td>
<div class="moveUpDown">
<div class="up">
</div>
<div class="down">
</div>
<div>
</div>
</div>
</td>
</tr>
<tr>
<td colspan="2">
<table>
<tr>
<td>
1
</td>
</tr>
</table>
</td>
</tr>
</table>
然后我有这个javascript代码片段
var row = $(this).parents("tr:first");
if ($(this).is(".up")) {
row.insertBefore(row.prev());
} else {
row.insertAfter(row.next());
}
基本上,当 Up 类被调用时,前一行向上移动,当 Down 类被调用时,当前行向下移动一行。
我想要做的是将行向上/向下移动 2 行......意思是 row.prev().prev() 或 row.next().next() 但这似乎不起作用。
有没有简单的方法解决这个问题?
谢谢,将不胜感激任何帮助/建议。