сортировка 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, время: 09:42. |