2014-09-03 2 views
0

У меня есть HTML как это:Использование JQuery для поворота порядка

<ul id="list"> 
    <li class="item">a</li> 
    <li class="item">b</li> 
    <li class="item">c</li> 
</ul> 

То, что я хотел бы достичь с помощью JQuery, чтобы иметь порядок повернуты. Таким образом, после одного звонка в результате HTML будет:

<ul id="list"> 
    <li class="item">c</li> 
    <li class="item">a</li> 
    <li class="item">b</li> 
</ul> 

И после того, как другой ...

<ul id="list"> 
    <li class="item">b</li> 
    <li class="item">c</li> 
    <li class="item">a</li> 
</ul> 

И так далее. Каков правильный способ сделать это?

+4

Дайте ему идти и вернуться к нам, когда (и если) у вас есть проблемы с тем, что вы пытаетесь :) – GillesC

+0

http://stackoverflow.com/questions/10014752/jquery- Оформить-li-order-by-click-on-a-link –

+0

попробуйте это http://stackoverflow.com/questions/14555415/how-to-randomly-sort-list-items – HADI

ответ

1

Получить последний элемент и добавить его.

$('#list li').last().prependTo('#list'); 

DEMO

3

Поп последний элемент из списка и предварять его в список, как это:

var $list = $('#list'); 
$list.find('.item:last').prependTo($list); 

Это случай micro-optimization, но до тех пор, как мы должны создать 2 объекта jquery (и нет простого способа обойти это), сначала объявив список, а затем используя его, чтобы ограничить область поиска элемента с помощью find, должен быть быстрее, чем использование 2 селекторов с документом в качестве области поиска.

+0

Вам не нужно его удалять чтобы заставить его работать: $ ("# list li: last-child"). prependTo ("# list"); – drskullster

+0

Я считаю, что вы правы. Я упростил. – Faust

Смежные вопросы