Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 23.06.2015, 00:03
Аспирант
Отправить личное сообщение для mortido Посмотреть профиль Найти все сообщения от mortido
 
Регистрация: 29.09.2014
Сообщений: 83

сортировка div jquery
всем привет. есть большое количество div'ов на странице, код которых в общем выглядит вот так: <div card_class="9" card-count="2" card_type="Заклинание" card_rare="3" card_cost="3" card_dust="100" class="collapsed_card" id="card_id_111"></div> . Подскажите как с помощью jquery можно сортировать эти div'ы от большего к меньшему и наоборот по вот этому атрибуту div'a: card_cost. спасибо
Ответить с цитированием
  #2 (permalink)  
Старый 23.06.2015, 00:19
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,108

mortido,
создать массив элементов и отсортировать, как сортируют массивы. вы начните.
Ответить с цитированием
  #3 (permalink)  
Старый 23.06.2015, 10:55
Аспирант
Отправить личное сообщение для mortido Посмотреть профиль Найти все сообщения от mortido
 
Регистрация: 29.09.2014
Сообщений: 83

а как можно массив наполнить всеми элементами с определенным классом?
Ответить с цитированием
  #4 (permalink)  
Старый 23.06.2015, 11:41
Профессор
Отправить личное сообщение для tsigel Посмотреть профиль Найти все сообщения от tsigel
 
Регистрация: 12.12.2012
Сообщений: 1,398

mortido,
http://lmgtfy.com/?q=jquery+to+array
Ответить с цитированием
  #5 (permalink)  
Старый 23.06.2015, 12:33
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,108

mortido,
практически готовый код, для варианта если все блоки лежат в одном контейнере http://javascript.ru/forum/showthrea...555#post259543

Последний раз редактировалось рони, 23.06.2015 в 12:36.
Ответить с цитированием
  #6 (permalink)  
Старый 23.06.2015, 15:56
Аспирант
Отправить личное сообщение для mortido Посмотреть профиль Найти все сообщения от mortido
 
Регистрация: 29.09.2014
Сообщений: 83

а как отсортировать по значению атрибута? это не хочет работать:
$(window).load(function () {
    var c = jQuery.makeArray($(".deck_container div"));
    c.sort(function (a, b) {
        a = $(a).attr("card_cost");
        b = $(b).attr("card_cost");
        return a < b ? -1 : a > b ? 1 : 0
    });
    $(c).appendTo(".deck_container")
});
Ответить с цитированием
  #7 (permalink)  
Старый 23.06.2015, 16:59
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,108

mortido,
должно работать
Ответить с цитированием
  #8 (permalink)  
Старый 23.06.2015, 17:02
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,108

mortido,
чуть короче но тоже самое.
<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
  <script>
   $(window).load(function () {
    var c = jQuery.makeArray($(".deck_container div"));
    c.sort(function (a, b) {
        a = $(a).attr("card_cost");
        b = $(b).attr("card_cost");
        return b - a
    });
    $(c).appendTo(".deck_container")
});
</script>
</head>
<body>
   <div class='deck_container'>
   <div card_cost="20">20</div>
   <div card_cost="8">8</div>
   <div card_cost="1">1</div>
   <div card_cost="5">5</div>
   <div card_cost="17">17</div>
  </div>
</body>
</html>

Последний раз редактировалось рони, 14.04.2018 в 02:10.
Ответить с цитированием
  #9 (permalink)  
Старый 23.06.2015, 18:05
Аспирант
Отправить личное сообщение для mortido Посмотреть профиль Найти все сообщения от mortido
 
Регистрация: 29.09.2014
Сообщений: 83

вроде бы работает, но у меня внутри div'a есть еще другие теги. вот так выглядит один div:
<div card_class="9" card-count="1" card_type="Существо" card_rare="2" card_cost="2" card_dust="40" class="collapsed_card" id="card_id_144"><span class="card_img_list" style="background-image: url(/wp-content/uploads/cards/чтото.png)"></span><div class="card_shadow"></div><div class="card_cost_list">2</div><span class="card_title_list quality2">чтото</span><span class="card_count">1</span></div>

и в итоге все как то вперемешку получается
Ответить с цитированием
  #10 (permalink)  
Старый 23.06.2015, 18:12
Аспирант
Отправить личное сообщение для mortido Посмотреть профиль Найти все сообщения от mortido
 
Регистрация: 29.09.2014
Сообщений: 83

все разобрался, забыл что у меня внутри помимо самого дива еще и другие есть)
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Сортировка блоков div CRYSIS_STALKER Events/DOM/Window 2 11.07.2014 14:18
Cookie для меню аккордион и для div Lastedl jQuery 1 03.12.2013 04:55
Проблемы с div обновлённым через (#id).load erlcat jQuery 4 03.03.2013 03:41
Не меняется класс div с помощью jQuery Mniako jQuery 7 08.10.2011 12:19
Сортировка и фильтрация json jQuery amt779 jQuery 4 28.07.2011 12:53