Javascript 将最后一个子项移动到第一个位置无法使用jquery

Javascript 将最后一个子项移动到第一个位置无法使用jquery,javascript,jquery,html,dom,Javascript,Jquery,Html,Dom,我尝试过在单击时将列表中的最后一个元素移动到第一个位置,但它不起作用。我是根据这个问题的答案做的。Firebug向我展示了列表中发生的一些事情,但它肯定不是最后一次更改:( jQuery: $(document).ready(function(){ $(".carousel-button-left").click(function(){ var $ul=$(this).next(); var $lastchild=$ul.child

我尝试过在单击时将列表中的最后一个元素移动到第一个位置,但它不起作用。我是根据这个问题的答案做的。Firebug向我展示了列表中发生的一些事情,但它肯定不是最后一次更改:(

jQuery:

$(document).ready(function(){   
    $(".carousel-button-left").click(function(){
    var $ul=$(this).next();                 
    var $lastchild=$ul.children().last();
    $ul.prepend($lastchild);
    });
});
HTML:


  • 一,
  • 二,
  • 三,
  • 四,
  • 五,
  • 六,
  • 七,
  • 八,
  • 九,

使用prepend或insertBefore

样本:

$(document).ready(function(){   
    $('.carousel-button-left').click(function() {
        var first = $('.testowyUl li:first');
        var last = $('.testowyUl li:last');
        last.insertBefore(first);
    });
});

使用prepend或insertBefore

样本:

$(document).ready(function(){   
    $('.carousel-button-left').click(function() {
        var first = $('.testowyUl li:first');
        var last = $('.testowyUl li:last');
        last.insertBefore(first);
    });
});


如果有多个列表示例只是为了展示想法,那么它将非常糟糕。不要期望有一些确切的代码。你展示的代码将被提问者使用。不要展示(没有免责声明,甚至是带有)你不想被使用的东西。如果有多个列表示例只是为了表达想法,那么它将被严重破坏。不要期望有一些确切的代码。你提供的代码将被询问者使用。不要呈现(没有免责声明,甚至带有)您不希望使用的内容。与其他被否决的答案相同的问题:如果有多个列表,则此选项将中断。如果使用id而不是类来避免,节点遍历和中断(如您所建议的)如何?如果不能与多个列表一起使用,则此选项将中断。与其他被否决的答案相同的问题:如果有多个列表,则此选项将中断。什么关于使用id而不是类来避免节点遍历和断开,如您所建议的,它不能用于多个列表。注意:我建议使用
.closest(sth).find(sth)
over
.next(sth).find(sth)
。如果您将一个元素放在ul与其对应的按钮之间,该怎么办?当我们在jquery中谈论兄弟、下一个、上一个使用下一个、前一个和兄弟方法时,我们在父级使用最接近的方法,我接受这些方法。我们通过最接近的方法依赖于dom。我们直接继续,但我认为下一个方法很好。您的建议始终欢迎注意:我建议使用
.nest(sth).查找(sth)
而不是
.next(sth).查找(sth)
。如果您将一个元素放在ul与其对应的按钮之间,该怎么办?当我们在jquery中谈论兄弟、下一个、上一个使用下一个、前一个和兄弟方法时,我们在父级使用最接近的方法,我接受这些方法。我们通过最接近的方法依赖于dom。我们直接继续,但我认为下一个方法很好。您的建议始终欢迎nks@JanDvorak
$(document).ready(function(){   
    $('.carousel-button-left').click(function() {
        var first = $('.testowyUl li:first');
        var last = $('.testowyUl li:last');
        last.insertBefore(first);
    });
});
$(document).ready(function(){   
    $(".carousel-button-left").click(function(){
    var $ul=$(".testowyUl");  //do you need node traversing, if not use direct, better keep a id for it 
    var lastchild=$ul.children().last();
        console.log(lastchild.val());
    $ul.prepend(lastchild);
    });
});