html标签向上或向下传输时使用jquery和ajax单击时

Abd*_*lam -9 html javascript php mysql jquery

我的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>
Run Code Online (Sandbox Code Playgroud)

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

我不是在寻找拖放功能.

Sam*_*iew 8

在上/下链接中添加类:

<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>
Run Code Online (Sandbox Code Playgroud)

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

#menu > div:first-child a:first-child,
#menu > div:last-child  a:last-child { display: none; }
Run Code Online (Sandbox Code Playgroud)

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));
    }
});
Run Code Online (Sandbox Code Playgroud)

http://jsfiddle.net/samliew/P4Xaf/

  • +1给予答案,感谢帮助人们. (6认同)
  • @siride当然,你的投票是你自己的事,但这不一定是他们的意思.根据答案本身的质量和内容进行投票,而不是根据其发布的背景进行投票,总是优先的 (3认同)
  • @Clive:我认为答案本身很糟糕.只是转储代码并没有真正以一种增加网站价值的方式回答问题.它以一种不易于学习的方式解决某个人的特定问题.我原则上不同意这些类型的答案. (3认同)