Показать сообщение отдельно
  #1 (permalink)  
Старый 20.07.2009, 16:45
ururu
 
Сообщений: n/a

Сортировка элементов списка тупым способом
Есть маркированный список. Требуется его отсортировать по алфавиту по клику. Пытаюсь делать это вот так:

<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, а компилятора, который мог бы ткнуть меня носом в ошибку, нету... На алгоритм просьба не смотреть, это мой личный тупой алгоритм сортировки.
Ответить с цитированием