2010-09-28 5 views
10

У меня есть этот список, который можно сортировать с помощью сортировки. Как переместить элемент li с классом .neutral в конец списка при завершении сортировки?jQuery переместить элемент списка до конца списка

$(".thumbs").sortable({ 
    stop: function(event, ui) { 
     // move .neutral at the end of this list 
    } 
}); 

<ul class="thumbs"> 
    <li>red</li> 
    <li>green</li> 
    <li class="neutral">none</li> 
    <li>yellow</li> 
    <li>blue</li> 
<ul> 

ответ

8

Вы можете добавить (перемещение) их в конец списка с .appendTo(), как это:

$(".thumbs").sortable({ 
    stop: function(event, ui) { 
     $(this).find('.neutral').appendTo(this); 
    } 
}); 

You can give it a try here, это становится все .neutral элементы внутри и присоединяет их к this, который является ul.thumbs, в котором мы сейчас находимся, это будет работать и для нескольких независимых списков эскизов.

+0

привет Ник. На самом деле я пытаюсь что-то с droppable и sortable уже, чтобы это не делало этого для меня .. Не могли бы вы взглянуть на http://jsfiddle.net/Y2ER7/. Это основано на примере корзины jquery.ui.droppable. (Мне нужно найти способ получить src из большого пальца, а также btw) – FFish

3

эквивалент будет следующим:

$(".neutral").appendTo(".thumbs"); 
OR 
$(".thumbs").append(".neutral"); 

Вы можете переместить элемент вокруг страницы, выбрав его и добавления или предваряя его в другом месте.

NB: будьте осторожны с областью действия - если вы используете классы, и этот пользовательский интерфейс отображается несколько раз на странице, вышеуказанные разделы должны быть привязаны к текущему экземпляру с использованием параметра ui, переданного в функцию остановки.

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