В предыдущем вопросе Я спросил, как сортировать div по 2 параметрам: имя или значение, asc или desc.Я написал весь код с полученной идеей, и я решил все, кроме двух последних проблем.
Это то, что я делаю ... Чтобы отсортировать div, сначала я объединяю значения и id и получаюмассив, подобный этому:
window.sortval = ["76#box1", "71#box122", "125#box4"];
(я использую окно. чтобы убедиться, что он находится в глобальной области видимости). Первая часть - это числовое значение, по которому я хочу отсортировать, а вторая - идентификатор DIV.
ВОПРОС 1: если я запускаю
window.sortval.sort(function(a,b){return a - b})
, он не сортируется.
- Чтобы продолжить эксперимент, я использовал консоль браузера и отсортировал массиврукой.Теперь у меня есть второй вопрос.Код, который я собирался использовать для настоящей сортировки, не работает:
У меня есть
<div id="container">
<div class="sortable" id="box1" rel="76" data-rel="Name One">
[some inside html including a table and divs]
</div>
<div class="sortable" id="box122" rel="71" data-rel="Name Two">
[some inside html including a table and divs]
</div>
<div class="sortable" id="box4" rel="125" data-rel="Name Three">
[some inside html including a table and divs]
</div>
</div>
, а затем, когда я запускаю
//get only the id part of each value in the array
var ids = $.map( window.sortname, function(val, i) {
return val.substring(val.indexOf('#'));
});
//sort the DOM
var cont = $('#container');
$.each(ids, function(i, v) {
cont.append($(v));
});
Ничего не происходит, даже не ошибка