HTML标签传输它向上或向下使用jquery和ajax时,点击


html tag transfer it up or down use jquery and ajax when click

我的HTML如下:

<div id="line1"> <a>down</a> </div>
<div id="line2"> <a>up</a> <a>down</a> </div>
<div id="line3"> <a>up</a> <a>down</a> </div>
<div id="line4"> <a>up</a> <a>down</a> </div>
<div id="line5"> <a>up</a> </div>

当我点击向上或向下链接时,我希望div分别交换。

我不是在寻找拖放功能

为你的上行/下行链接添加类:

<div id="menu">
    <div id="line1"> A <a class='up'>up</a> <a class='down'>down</a></div>
    <div id="line2"> B <a class='up'>up</a> <a class='down'>down</a></div>
    <div id="line3"> C <a class='up'>up</a> <a class='down'>down</a></div>
    <div id="line4"> D <a class='up'>up</a> <a class='down'>down</a></div>
    <div id="line5"> E <a class='up'>up</a> <a class='down'>down</a></div>
</div>

添加CSS隐藏未使用的第一个和最后一个链接:

#menu > div:first-child a:first-child,
#menu > div:last-child  a:last-child { display: none; }
jQuery:

$('#menu').on('click', 'a', function() {
    var divs = $('#menu > div');
    var p = $(this).parent();
    var pos = p.index();
    if($(this).hasClass('up')) {
        p.insertBefore(divs.eq(--pos));
    }
    else if($(this).hasClass('down')) {
        p.insertAfter(divs.eq(++pos));
    }
});
http://jsfiddle.net/samliew/P4Xaf/