Сортировка Таблицы> Если строки рядом, то не вижу смысл клонировать, нужно просто передвинуть вторую перед первой: > > function ExchangeRows(Row1,Row2){ > Row1.parentNode.insertBefore(Row2, Row1); > }
Навел Ты Меня На Мысль, И Я Ее Додумал До Того, Что При Сортировки Таблицы Тем Алгоритмом, Котрый Я Написал В Прошлом Письме, Такой Подход Годиться Для Всех Строк, А Не Только Для Соседних:
function SortColumn(Head){ var Table=Head; while(Table.nodeName!='TABLE') Table=Table.parentNode; with(Table) for(i=1;i<rows.length;i++) for(j=i+1;j<rows.length;j++) if(rows[i].cells[Head.cellIndex].firstChild.nodeValue>rows[j].cells[Head.cellIndex].firstChild.nodeValue) rows[i].parentNode.insertBefore(rows[j],rows[i]); }//SortColumn
Фактически, На Каждой Итерации i-Цикла Мы Ищем Максимум Значений Оставшихся Строк И Вытаскиваем Его Наверх, А Уж Как Они Там В Этом Оставшемся Массиве Перемешиваются - Неважно.
Без cloneNode Работает, Конечно, Гораздо Быстрее. |