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++;
});
}

转:js,jQuery 排序的实现,网页标签排序的实现,标签排序的更多相关文章

  1. [JS]jQuery,javascript获得网页的高度和宽度

    [JS]jQuery,javascript获得网页的高度和宽度网页可见区域宽: document.body.clientWidth 网页可见区域高: document.body.clientHeigh ...

  2. 标签页(tab)切换的原生js,jquery和bootstrap实现

    概述 这是我在学习课程Tab选项卡切换效果时做的总结和练手. 原课程中只有原生js实现,jquery和bootstrap实现是我自己补上的. 本节内容 标签页(tab)切换的原生js实现 标签页(ta ...

  3. js/jquery/html前端开发常用到代码片段

    1.IE条件注释 条件注释简介 IE中的条件注释(Conditional comments)对IE的版本和IE非IE有优秀的区分能力,是WEB设计中常用的hack方法.条件注释只能用于IE5以上,IE ...

  4. js,jquery,css,html5特效

    包含js,jquery,css,html5特效,源代码 本文地址:http://www.cnblogs.com/roucheng/p/texiao.html 2017新年快乐特效 jQuery最新最全 ...

  5. Web基础 HTML CSS JS JQuery AJAX

    1. Web基础 网页的骨骼HTML 什么是HTML超文本标记语言:Hyper Text Markup Language 这都不重要,重要的是:HTML是Web网页的基本组成部分HTML中定义的元素, ...

  6. JS jquery ajax 已看1 有用

    4.form中的input可以设置为readonly和disable,请问2者有什么区别? readonly不可编辑,但可以选择和复制:值可以传递到后台 disabled不能编辑,不能复制,不能选择: ...

  7. js jquery 选择器总结

    js jquery 选择器总结 一.原始JS选择器. id选择器:document.getElementById("test"); name选择器:document.getElem ...

  8. 分享:计算机图形学期末作业!!利用WebGL的第三方库three.js写一个简单的网页版“我的世界小游戏”

    这几天一直在忙着期末考试,所以一直没有更新我的博客,今天刚把我的期末作业完成了,心情澎湃,所以晚上不管怎么样,我也要写一篇博客纪念一下我上课都没有听,还是通过强大的度娘完成了我的作业的经历.(当然作业 ...

  9. js jquery, jquery-ui 获取form各种表单input的值?

    如何获取? make up (for): 弥补, 补偿, her beaty cannot make up for her stu'pidity. five Basic laws of human s ...

随机推荐

  1. 反汇编看c++引用

    继续反汇编系列,本次使用vc2008在x86体系下分析c++中的引用. 定义一个引用类型和将一个变量转换成引用类型一样吗? 引用比指针安全,真的是这样吗,对引用不理解的话比指针还危险. 为什么要用常量 ...

  2. 用js实现文字提示层 ---总结

    文字提示层在项目中应该是比较常见的,我工作中项目中就用到了,原理是一样,只不过形式不一样,今天通过看视频学习,学会了,总结下: 首先,页面效果如下:  需求: 当鼠标移入到红色字体是,提示框会显示在下 ...

  3. SQLServer 数据的导入

    选择数据源,选择文件路径 直接点击下一步,选择自己的源表和目标表 勾选忽略,然后到完成,数据上传成功 可能出现的问题:源文件和目标文件的列名不一致,导致被忽略不能导入 预览发现有乱码,因为编码格式

  4. Radis安装

    基本知识 1.Redis的数据类型: 字符串.列表(lists).集合(sets).有序集合(sorts sets).哈希表(hashs) 2.Redis和memcache相比的独特之处: (1)re ...

  5. jquery.validate提示错误方法

    修改jquery.validate提示错误方法,将错误信息用弹出框提示 <script src="@Url.Content("~/Scripts/jquery.validat ...

  6. Oracle 11g 删除归档日志

    工作环境ORACLE 11g 归档日志满了,手动删除出现 ora 异常. 注:工作环境是linux redhat 5 执行命令如下: 1. 进入rman 2. connect target / 3. ...

  7. Oracle客户端工具安装

    Oracle简易客户端登录工具安装 @[Database|Oracle|客户端工具] [TOC] 引言 Oracle服务的安装是一件的繁琐的事情,我们往往喜欢在本地不安装oracle数据库的方式来访问 ...

  8. scss 学习笔记

    由于没有办法在网络上找到适合顾客的模板,同时之前自己写css也没有很好的管理方式,最终选择了scss. Nested #main p { color: #00ff00; width: 97%; .re ...

  9. 每天一个Linux命令(19)--find命令

    linux 下 find 命令在目录结构中搜索文件,并执行指定的操作.Linux 下 find 命令提供了相当多的查找条件,功能很强大.由于 find 具有强大的功能,所以它的选项也很多,其中大部分选 ...

  10. 第十篇 一个利用反射实现的Excel导出

    前些天写了个导出Excel的公共类,因为项目中也需要上传Excel,没有利用Office组件,(PS:Office在上传文件时候,Excel进程无法关闭,会导致上传和打开失败)有的说利用Kill把进程 ...