Показать сообщение отдельно
  #4 (permalink)  
Старый 17.02.2013, 21:23
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,105

webmanss,
Вариант сортировки по классам ... при условии одинаковой длины сортируемого класса для всех элементов, 100 - 200 но не 30 а 030
<!DOCTYPE html>
<html>

    <head>
        <title></title>
        <meta charset="utf-8">
        <script src="https://code.jquery.com/jquery-latest.js" type="text/javascript">

        </script>
        <script type="text/javascript">
            $(function () {
                var a_sort = $('#sorting a');
                var div_conteiner = jQuery.makeArray($('#conteiner div'));
                a_sort.each(function (index, self) {
                    var id = $(self).attr("id");
                    var reg = new RegExp("^.*?(" + id + "\\S+).*?$");
                    $(self).click(function (e) {
                        e.preventDefault();
                        div_conteiner.sort(function f(a, b) {
                            a = a.className.replace(reg, '$1');
                            b = b.className.replace(reg, '$1');
                            var c = 0
                            if (a > b) c = 1;
                            if (a < b) c = -1;
                            return c
                        });
                        $.map(div_conteiner, function (div) {
                            $(div).appendTo($('#conteiner'))
                        });
                    });
                });
            });
        </script>
    </head>

    <body>
        <div id="sorting">
            <a href="#" id="price">цена</a>
            <a href="#" id="name">название</a>
            <a href="#" id="rating">рейтинг</a>
        </div>
        <div id="conteiner">
            <div class="price_200 name_b rating_4">Text 2 price_200 name_b rating_4</div>
            <div class="price_100 name_c rating_5">Text 1 price_100 name_c rating_5</div>
            <div class="price_300 name_a rating_3">Text 3 price_300 name_a rating_3</div>
        </div>
    </body>

</html>

Последний раз редактировалось рони, 02.03.2023 в 00:01.
Ответить с цитированием