2013-10-02 2 views
2

Есть ли способ обменять элемент списка другим с помощью jQuery?Переключить элемент списка с помощью jQuery?

предположить этот список:

<ul> 
    <li id="1"></li> 
    <li id="2"></li> 
    <li id="3"></li> 
    <li id="4"></li> 
    <li id="5"></li> 
</ul> 

Как изменить пункт 2 места с пунктом 4?

так что

<ul> 
    <li id="1"></li> 
    <li id="4"></li> 
    <li id="3"></li> 
    <li id="2"></li> 
    <li id="5"></li> 
</ul> 

есть ли способ без использования абсолютного позиционирования?

+0

Подробнее о том, как вы хотите, чтобы это было изменено, нажатие и т. Д.?? – MacMac

+0

Изменение или изменение содержимого? – tymeJV

ответ

6
$('#2').insertAfter($('#3')); 
$('#4').insertAfter($('#1')); 

jsFiddle example

+1

Возможно, это не так, как JQUERY намеревается работать, но это действительно умный способ сделать это пальцем вверх! – Sebastien

+1

Я бы предположил, что ОП знал идентификаторы двух элементов, которые он хотел поменять, но не обязательно иды элементов брата. – andi

+0

Для обмена сначала с 5-м ребенком, например: '$ ('# 2'). InsertAfter ($ ('# 5')); $ ('# 5'). InsertAfter ($ ('# 1')); ' – gsamaras

2

Вы можете взглянуть на библиотеку jQuery под названием «Сортировка». Вы можете прочитать об этом и увидеть живую демонстрацию здесь: http://jqueryui.com/sortable/

+1

Побей меня. Он довольно универсален и не ограничивается списками. Я сортировал divs и таблицы, используя его. – EmmyS

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