Изменение порядка элементов li для «сортируемой» задачи jQuery - PullRequest
2 голосов
/ 27 апреля 2011

Я создал сортируемый список, используя сортируемую функцию пользовательского интерфейса jQuery, это работает нормально, за исключением того, что мне нужно иметь возможность изменить порядок <li> в начале в зависимости от строки, содержащей порядок элемента, но я не могу понять синтаксискак это сделать с помощью JavaScript.

Допустим, у меня есть следующее:

<ul>
   <li id="A" >Apple</li>
   <li id="B" >Banana</li>
   <li id="C" >Carrot</li>
</ul>

и строка "C, A, B"

Я хотел бы иметьJavaScript-функция для переупорядочивания элементов внутри, которая определяет порядок порядка строки.Заканчивая это:

 <ul>
   <li id="C" >Carrot</li>
   <li id="A" >Apple</li>
   <li id="B" >Banana</li>
</ul>

Я естественно разделю строку обратно по ее "," и в итоге получу массив идентификаторов элементов, но я не уверен в двух основных вещах в этом.

1) Каков наилучший способ получить элемент, который указанный идентификатор нашел в моем массиве разделенных строк?

2) Как только я получил этот элемент и определил, что это правильный элемент, чтосинтаксис или лучшая стратегия для размещения их в правильном порядке?

1 Ответ

5 голосов
/ 27 апреля 2011

Это должно ответить как (1), так и (2).

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

var order = 'C,A,B'.split(','),
    ul = $('ul');

$.each(order, function(index, sort) {
    $('#' + sort).appendTo(ul);
});

jsFiddle .

...