Здравствуйте.
Есть html страница. На ней есть таблица. Но таблица необычная, сформированная из div с табличными display
Что то типа такого
<div id="table">
<div class="table_header">
<div class="th">Артикул</div>
<div class="th">Название</div>
<div class="th">цена</div>
</div>
<div class="tr">
<div class="td column1">3333333</div>
<div class="td column2">Бла бла бла</div>
<div class="td column3">150</div>
</div>
<div class="tr">
<div class="td column1">2222</div>
<div class="td column2">Бла бла бла</div>
<div class="td column3">250</div>
</div>
<div class="tr">
<div class="td column1">151515</div>
<div class="td column2">Бла бла бла</div>
<div class="td column3">350</div>
</div>
</div>
Вкратце, почему это было сделано так, а то извращенцем обзывать будете. Рядов таблицы может быть много. 500. 700. 1500 и так далее. Если использовать обычную таблицу то браузер либо начинает тормозить, либо вообще крашится. Насколько знаю, это связано с повышенными расходами памяти и нагрузкой на процессор при отображении и расчете таблицы. С дивами такого не происходит.
Собственно задача отсортировать таблицу по артикулу.
Видится такая функция, которая возвернет нам сортированный массив div.tr. Ряды, содержащие переданный в функцию артикул должны быть самыми первыми.
function sortList(artikul){
var rows=$.makeArray($('div.tr')); //тут у нас будут все поля таблицы
var e= rows.sort(function(a, b){
//если артикул в данном ряде есть
if(artikul==$(a).find('div.col1umn1').text()){
return 1;
}else{
return -1;
}
});
//возвращаем сортированный массив
return e;
}
Но почему то не работает. Что я делаю не так? Может быть можно как то элегантнее решить данную задачу?