Есть маркированный список. Требуется его отсортировать по алфавиту по клику. Пытаюсь делать это вот так:
<html>
<head>
<title>О лосях</title>
<script>
function go() {
var ul = document.getElementsByTagName('ul')[0];
var odin=ul.firstChild;
var sort=true;
while (sort==true) do
{sort=false;
for (var elem=odin;elem!=null;elem=elem.nextSubling)
{sledElem=elem.nextSubling;
if (sledElem!=null)
{var buf1=sledElem.data.slice(1,11);
var buf2=elem.data.slice(1,11);
if (buf2.localeCompare(buf1)=true)
{var pervElem=ul.removeChild(sledElem);
elem.insertBefore(pervElem);
sort=true;}
}
}
}
}
window.onload = function() { document.body.onclick = go }
</script>
</head>
<body>
Правда о лосях.
<ul>
<li>
Лось - животное хитрое
</li>
<li>
яяяяя
</li>
<li>
И коварное
</li>
</ul>
</body>
</html>
Не работает. В чём ошибка? Я, может, и сам дошёл бы, но это моя первая прога на JavaScript, а компилятора, который мог бы ткнуть меня носом в ошибку, нету... На алгоритм просьба не смотреть, это мой личный тупой алгоритм сортировки.