有没有办法使用jQuery将列表项与另一个项交换?
假设此列表:
<ul>
<li id="1"></li>
<li id="2"></li>
<li id="3"></li>
<li id="4"></li>
<li id="5"></li>
</ul>
如何使用第4项更改第2项?
这样它
<ul>
<li id="1"></li>
<li id="4"></li>
<li id="3"></li>
<li id="2"></li>
<li id="5"></li>
</ul>
有没有办法不使用绝对定位?
答案 0 :(得分:6)
$('#2').insertAfter($('#3'));
$('#4').insertAfter($('#1'));
<强> jsFiddle example 强>
答案 1 :(得分:5)
var lis = $('ul li');
lis.eq(3).after(lis.eq(1)).end().eq(0).after(lis.eq(3));
只是为了好玩:
$.fn.swap = function(elem) {
var elem = $(elem),
before = elem.prev();
this.after(elem);
before.after(this);
};
$('#2').swap('#4');
答案 2 :(得分:2)
您可以查看名为“Sortable”的jQuery库。您可以在这里阅读并查看现场演示:http://jqueryui.com/sortable/