jQuery:更改表的两行的顺序

前端之家收集整理的这篇文章主要介绍了jQuery:更改表的两行的顺序前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我想更改表中两行​​的顺序.

我有这个代码

console.log(position.parent().parent().prev());
console.log(position.parent().parent());
//I expected this line do the work,but no...
$(this).parent().parent().prev().insertAfter($(this).parent().parent());

那是打印这个:

<tr>​
<td>​Element 1​</td>​
<td>​…​</td>​
<td>​2008-02-02​</td>​
<td class=​"jander" data-pos=​"0" data-category=​"1">​…​</td>​
</tr>​

<tr>​
<td>​Element 2​</td>​
<td>​…​</td>​
<td>​2007-02-02​</td>​
<td class=​"jander" data-pos=​"1" data-category=​"1">​…​</td>​
</tr>​

任何的想法?

问候

哈维

解决方法

var row = $(this).closest('tr');

row.insertAfter( row.next() );

示例:http://jsfiddle.net/hkkKs/

取决于您要定位的是哪一个.如果第一个具有单击处理程序,那么您需要上面的代码.

此外,closest()[docs]方法是一种更安全的方法来瞄准祖先< tr>.这可能是问题所在.

如果你想要相反的方式,你的代码可以工作,但是再次使用.closest()代替.

$('span').click(function() {
    var row = $(this).closest('tr');

    row.prev().insertAfter(row);
});

示例:http://jsfiddle.net/hkkKs/1/

原文链接:https://www.f2er.com/jquery/177984.html

猜你在找的jQuery相关文章