我有一个动态列表,我正在尝试切换当前的订单。在这个例子中它是1,2,3我试图使它成为3,2,1
<ul>
<li>1</li>
<li>2</li>
<li>3</li>
</ul>
如果它不是动态的,我会使用$('li:first').before('li:last')
几次,但元素的数量总是在变化,是否有一种简单的方法可以实现这一点?
答案 0 :(得分:4)
答案 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]);
}
答案 2 :(得分:3)
许多方式,其中之一:
$('ul').append(function () {
return $(this).children().get().reverse()
});
编辑使用append()会将绑定事件保留给子级