2

jQueryを使用してリスト項目を別の項目と交換する方法はありますか?

次のリストを想定します。

<ul>
    <li id="1"></li>
    <li id="2"></li>
    <li id="3"></li>
    <li id="4"></li>
    <li id="5"></li>
</ul>

項目 2 を項目 4 に変更するにはどうすればよいですか?

そのように

<ul>
    <li id="1"></li>
    <li id="4"></li>
    <li id="3"></li>
    <li id="2"></li>
    <li id="5"></li>
</ul>

絶対配置を使用しない方法はありますか?

4

3 に答える 3

6
$('#2').insertAfter($('#3'));
$('#4').insertAfter($('#1'));

jsFiddle の例

于 2013-10-02T19:48:31.377 に答える
5
var lis = $('ul li');
lis.eq(3).after(lis.eq(1)).end().eq(0).after(lis.eq(3));

http://jsfiddle.net/Px6be/

そして楽しみのために:

$.fn.swap = function(elem) {
    var elem = $(elem),
        before = elem.prev();

    this.after(elem);
    before.after(this);
};

$('#2').swap('#4');

http://jsfiddle.net/Px6be/1/

于 2013-10-02T19:50:11.987 に答える