Показать сообщение отдельно
  #5 (permalink)  
Старый 11.11.2010, 12:02
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,112

ещё вариант...сортировка вынесена в отдельную функцию, поэтому условия сортировки можно легко менять, в данном случае корректно отсортирует List Item больше 9
<!DOCTYPE html>
<html>
<head>
<style>
</style>
<script>
function Sort() {
    var f = document.getElementById("oList"),
        b = f.getElementsByTagName("li"),
        a, c = [];
    for (a = 0; a < b.length; a++) c[a] = b[a];
    c.sort(function (d, e) {
        d = +d.innerHTML.replace(/.*?(\d+).*?/, "$1");
        e = +e.innerHTML.replace(/.*?(\d+).*?/, "$1");
        return d - e
    });
    for (a = 0; a < b.length; a++) f.appendChild(c[a])
};
</script>
</head>
<body>
<UL ID = 'oList'>
  <LI>List Item 2</LI>
  <LI>List Item 33</LI>
  <LI>List Item 1</LI>
  <LI>List Item 4</LI>
</UL>
<INPUT TYPE = 'button' VALUE = "Sort List" onclick = "Sort()">
</body>
</html>
Ответить с цитированием