如何使用jquery反转列表的顺序

时间:2013-12-19 18:06:26

标签: javascript jquery

我有一个动态列表,我正在尝试切换当前的订单。在这个例子中它是1,2,3我试图使它成为3,2,1

<ul>
<li>1</li>
<li>2</li>
<li>3</li>
</ul>

如果它不是动态的,我会使用$('li:first').before('li:last')几次,但元素的数量总是在变化,是否有一种简单的方法可以实现这一点?

3 个答案:

答案 0 :(得分:4)

你可能想给ul一个id,但这应该有效:

$('ul').append($('ul').find('li').get().reverse());

Fiddle

答案 1 :(得分:4)

另一个简单的解决方案:

$('li').each(function() {
    $(this).parent().prepend(this);
});

DEMO: http://jsfiddle.net/SxKh6/


使用纯JavaScript可以更快:

var li = document.getElementsByTagName('li');
for (var i = li.length; i-- ;) {
    li[i].parentNode.appendChild(li[i]);
}

DEMO: http://jsfiddle.net/SxKh6/1/

答案 2 :(得分:3)

许多方式,其中之一:

DEMO

$('ul').append(function () {
    return $(this).children().get().reverse()
});

编辑使用append()会将绑定事件保留给子级