Я пытаюсь сортировать некоторые DIVS по-разному, и я совершенно потерян.Я пробовал кое-что, но я не понимаю, как заставить его работать.
У меня есть набор разных div с одним и тем же классом, разными идентификаторами, rels и data-attribute внутри контейнера.
<div id="container">
<div class="sortable" id="div541" rel="1234" data-rel="Name One">
[some inside html including a table and divs]
</div>
<div class="sortable" id="div354" rel="4321" data-rel="Name Two">
[some inside html including a table and divs]
</div>
<div class="sortable" id="div763" rel="112233" data-rel="Name Three">
[some inside html including a table and divs]
</div>
</div>
Тогда у меня есть элемент <select>
, в котором пользователь выбирает тип сортировки.Опции могут быть по числовому значению «сохранены» в атрибуте rel (по возрастанию и по убыванию) и по имени «сохранены» в атрибуте data-rel (также по возрастанию и по убыванию).
Сначала я подумал о плагине jQuery-вроде Зыбучие пески , но он клонирует элементы, меняющие свой идентификатор, и у меня есть несколько элементов внутри каждого сортируемого элемента div, и мне нужно сохранить их идентификатор, чтобы взаимодействовать с ними снаружи контейнера.Я искал другие плагины, но все они выполняли некоторую сортировку, но по-другому, и я решил сделать это сам.
Итак, я немного погуглил и переполнял стек и обнаружил, что могу сортировать div, выполняя что-то вроде этого:
var ids = ['#div541', '#div354', '#541' ...];
var cont = $('#resultados');
$.each(ids, function(i, v) {
cont.append($(v));
});
Но я должен отсортировать массив идентификаторов, прежде чем выполнять фактическую сортировку, и вот где я потерян.Прежде чем я продолжу, это лучший способ добиться сортировки?Будет ли часть container.append изменять какой-либо идентификатор или дубликат и div?
Если все в порядке, не могли бы вы помочь мне сделать это?
Сначала я бы сделал $('.sortable).each()
в том, что я делаюмассив из 3 столбцов.Затем я сортирую атрибут rel или data-rel по ASC или DESC, и после сортировки массива я использую его для добавления () div в контейнер.Это нормально?Я ненавижу использовать массивы специально в JavaScript, поэтому не могли бы вы помочь мне сделать функцию для сортировки, а затем вернуть список идентификаторов в порядок?
Большое спасибо!