zoukankan      html  css  js  c++  java
  • 转:js,jQuery 排序的实现,网页标签排序的实现,标签排序

    js,jQuery 排序的实现:

    重点: 想要实现排序,最简单的方法就是

    1. 先把标签用jQuery读进对象数组
    2. 用js排序好对象数组 (针对对象数组进行排序, 不要试图直接对网页的内容进行直接更改)
    3. 用对象数组内容覆盖网页上的标签数组; 
    //排序从文字短的到长的
            var arr_a=new Array();
            var i=0;
            $(".type_list_txt > span:contains('T恤')").parent().children("a").each(function(){   
                arr_a[i]=$(this).clone();
                i++;
            });
            for(i=0; i<arr_a.length;i++){
                for(j=i+1;j<arr_a.length;j++){
                    if($(arr_a[i]).text().length > $(arr_a[j]).text().length ){
                        temp=arr_a[i];
                        arr_a[i]=arr_a[j];
                        arr_a[j]=temp;
                    }
                }
            }
            i=0;
            $(".type_list_txt > span:contains('T恤')").parent().children("a").each(function(){   
                $(this).replaceWith($(arr_a[i]));
                i++;
            });

    原文地址:http://www.cnblogs.com/henw/archive/2011/04/26/2029474.html

    参照原文,我写了自己的排序,原文的是简单的选择排序,我的是冒泡排序。

    function doOrder(){
        //#orderCom为页面上的按钮
        var type = $("#orderCom").attr("type");
        console.log(type);
        var flelems = new Array();
        var fi = 0;
        //globalFl为全局变量,逐个获取元素 
        $("#detail"+globalFl).children().each(function(){
            flelems[fi] = $(this).clone();
            fi++;
        });
        if(type=="asc"){    
            //asc排序
            for(var i=0;i<flelems.length-1;i++){
                for(var j=0;j<flelems.length-i-1;j++){
                    if(parseFloat($(flelems[j]).attr('cval'))>parseFloat($(flelems[j+1]).attr('cval'))){
                        var ele = flelems[j];
                        flelems[j] = flelems[j+1];
                        flelems[j+1] = ele;
                    }
                }
            }
            $("#orderCom").attr("type","desc");
            $("#orderCom").text("积分↓");
        }else{
            //desc排序
            for(var i=0;i<flelems.length-1;i++){
                for(var j=0;j<flelems.length-i-1;j++){
                    if(parseFloat($(flelems[j]).attr('cval'))<parseFloat($(flelems[j+1]).attr('cval'))){
                        var ele = flelems[j];
                        flelems[j] = flelems[j+1];
                        flelems[j+1] = ele;
                    }
                }
            }        
            $("#orderCom").attr("type","asc");
            $("#orderCom").text("积分↑");
        }
        fi = 0;
        //把排序好的html写入
        $("#detail"+globalFl).children().each(function(){
            $(this).replaceWith($(flelems[fi]));
            fi++;
        });
    }
  • 相关阅读:
    idea打开项目,没有项目文件,文件报红
    使用lombok自动生成链式调用
    gson常用的方式
    LOADING Redis is loading the dataset in memory Redis javaAPI实例
    redis.clients.jedis.exceptions.JedisDataException :READONLY You can't write
    Redis安装步骤
    springboot+jpa+mysql+redis+swagger整合步骤
    springboot+jpa+mysql+swagger2.0整合
    Daily Scrum 10.23
    Daily Scrum 10.22
  • 原文地址:https://www.cnblogs.com/klbc/p/5972588.html
Copyright © 2011-2022 走看看