Показать сообщение отдельно
  #1 (permalink)  
Старый 07.03.2011, 16:18
Интересующийся
Отправить личное сообщение для Atilla Посмотреть профиль Найти все сообщения от Atilla
 
Регистрация: 28.06.2009
Сообщений: 21

Сортировка таблицы.
Есть таблица:
<body onload="align()">
...
<table id="anketa">
	<tr>
		<td>Имя</td>
		<td>Ответ</td>
	</tr>
	<tr>
		<td>Леонов Денис</td>
		<td>Да</td>
	</tr>
	<tr>
		<td>Шилов Кеша</td>
		<td>Да</td>
	</tr>
	...
	<tr>
		<td>Маркин Игорь</td>
		<td>Нет</td>
	</tr>
</table>


function align () {
	anketa=document.getElementById('anketa');

	anketa.lines=anketa.getElementsByTagName('tr').length;
	anketa.columns=anketa.getElementsByTagName('tr')[0].getElementsByTagName('td').length;

	for (i=0; i<anketa.lines; i++) {
		anketa[i]=anketa.getElementsByTagName('tr')[i];
		anketa[i].style.border='1px solid #f00';
		for (j=0; j<anketa.columns; j++) {
			anketa[i][j]=anketa[i].getElementsByTagName('td')[j];
			anketa[i][j].style.border='1px solid #fff';
			if (i==0) anketa[0][j].addEventListener('click', function() {qsorting(j)}, false);
		}	
	}

	sorting(0);
}

function sorting (number) {
	i=1;
	for (i=1; i<9; i++) {
		x=1;
		for (j=1; j<10-i; j++)
			if (anketa[x][number].innerHTML<anketa[j][number].innerHTML) x=j;
		//Ставим наименьший элемент в конец
		anketa.removeChild(anketa[x]);
		anketa.appendChild(anketa[x]);
		dat=anketa[x];
		anketa[x]=anketa[j-1];
		anketa[j-1]=dat;
	}
}



Я почему-то не могу обратится к строкам таблицы как anketa[x], когда при сортировке пытаюсь засунуть строку anketa[x] в конец таблицы.
Хромированный ругается так:
Код:
Uncaught Error: NOT_FOUND_ERR: DOM Exception 8
на строку
anketa.removeChild(anketa[x]);

В чём может быть проблема?
Ответить с цитированием