javascript – jQuery通过点击链接排列li命令

前端之家收集整理的这篇文章主要介绍了javascript – jQuery通过点击链接排列li命令前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
需要通过单击向上移动或向下移动来更改li位置.
<div>
  <ul>
    <li>Item1  <a class="moveUp">Move Up</a> <a class="moveDown">Move Down</a></li>
    <li>Item2  <a class="moveUp">Move Up</a> <a class="moveDown">Move Down</a></li>
    <li>Item3  <a class="moveUp">Move Up</a> <a class="moveDown">Move Down</a></li>
    <li>Item4  <a class="moveUp">Move Up</a> <a class="moveDown">Move Down</a></li>
    <li>Item5  <a class="moveUp">Move Up</a> <a class="moveDown">Move Down</a></li>
  </ul>
</div>

那么这里应该发生什么,例如,如果我们点击向上移动第2项,则第2项将在第1项之前向上移动.

我试着这样做,但它不起作用:

$(".moveUp").click(function () {
    var thisLine = $(this).parent();
    var prevLine = thisLine.prev();
    prevLine.insertAfter(thisLine);
});

希望可以有人帮帮我…

解决方法

当您尝试将元素向上移动或向下移动到底部时,这应该可以工作并且也不会将元素移动到UL之外:
$('.moveUp').click(function(){
    var liItem = $(this).parent();
    if (liItem.prev().is('li'))
    {
        liItem.insertBefore(liItem.prev())
    }
});

$('.moveDown').click(function(){
    var liItem = $(this).parent();
    if (liItem.next().is('li'))
    {
        liItem.insertAfter(liItem.next())
    }
});

工作实例:http://jsfiddle.net/BDecp/

此外,您的代码应该包含此:

$(document).ready(function () {
    //Code Here
});

猜你在找的jQuery相关文章