Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Сортировка по дате в js (jquery)

first-programmer Знаток (405), на голосовании 7 лет назад
Всем привет)

Есть задача, отсортировать картинки, по дате и алфавиту, по убыванию и по возрастанию. То есть идет блок с такой структурой внутри:

span[data-conference-date='31 октября 2016'][data-conference-name='Севастополь']>a>img

каждый span содержит картинку с датой и названием региона, где проходила конференция. Все блоки инлайновые, и лежат строками.

С сортировкой по алфавиту проблем нет. А вот с сортировкой по дате траблы. Без понятия, как она делается, и инфы в инете не нашел. Раньше использовал для этих целей библиотеку dataTables (ее все и советуют в интернете), но там обязательно должна быть структура таблицы, а мне по дизайну надо чтобы это были просто отдельные элементы лежащие строкой. Информацию о конференциях записываю в дата атрибуты.
Дополнен 7 лет назад
Разобрался, можно просто в unix timestamp перевести строку с датой, и ее сортировать как и обычные числа методом sort с вызовом колбека. Чуть позже решение выложу.
Голосование за лучший ответ
不協和音 Мастер (1665) 7 лет назад
Ну сначала отсортируй сами спаны, дата указана в атрибуте, как я понимаю. Как вариант, создать массив, аналогичный $('.span') вот так: var myArray=$('.span')
Далее сортируй этот массив. Для сортировки массива используется метод sort(). Если не передавать ему аргументов, то будет выполнена сортировка по алфавиту. Но он может принять функцию в качестве аргумента, которая задаёт правило сортировки. myArray.sort((a,b)=>a>b?1:a<b?-1:0) например. Такой код отсортирует по возрастанию массив чисел. https://developer.mozilla.org/ru/docs/Web/JavaScript/Reference/Global_Objects/Array/sort
Тут принцип описан. Ну и потом размещаешь по порядку эти элементы в том блоке. Надеюсь, хоть чем-то помог.
Источник: /
Похожие вопросы