сортировка 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. спасибо
|
mortido,
создать массив элементов и отсортировать, как сортируют массивы. вы начните. |
а как можно массив наполнить всеми элементами с определенным классом?
|
mortido,
http://lmgtfy.com/?q=jquery+to+array |
mortido,
практически готовый код, для варианта если все блоки лежат в одном контейнере http://javascript.ru/forum/showthrea...555#post259543 |
а как отсортировать по значению атрибута? это не хочет работать:
$(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") }); |
mortido,
должно работать |
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> |
вроде бы работает, но у меня внутри 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> и в итоге все как то вперемешку получается |
все разобрался, забыл что у меня внутри помимо самого дива еще и другие есть)
|
Часовой пояс GMT +3, время: 00:21. |