html列表排序

在HTML中,我们可以使用JavaScript或者jQuery来实现明细的排序,下面我将详细介绍如何使用这两种方法来实现这个功能。

html列表排序

使用JavaScript实现明细排序

1、我们需要在HTML中创建一个表格,并在每个单元格中添加一个排序号。

<table id="myTable">
  <tr>
    <th onclick="sortTable(0)">排序号</th>
    <th onclick="sortTable(1)">姓名</th>
    <th onclick="sortTable(2)">年龄</th>
  </tr>
  <tr>
    <td>1</td>
    <td>张三</td>
    <td>25</td>
  </tr>
  <tr>
    <td>3</td>
    <td>李四</td>
    <td>30</td>
  </tr>
  <tr>
    <td>2</td>
    <td>王五</td>
    <td>28</td>
  </tr>
</table>

2、接下来,我们需要编写一个JavaScript函数来对表格进行排序,在这个函数中,我们将获取当前点击的列的索引,并根据该索引对表格进行排序。

function sortTable(n) {
  var table, rows, switching, i, x, y, shouldSwitch, dir, switchcount = 0;
  table = document.getElementById("myTable");
  switching = true;
  dir = "asc";
  while (switching) {
    switching = false;
    rows = table.rows;
    for (i = 1; i < (rows.length 1); i++) {
      shouldSwitch = false;
      x = rows[i].getElementsByTagName("TD")[n];
      y = rows[i + 1].getElementsByTagName("TD")[n];
      if (dir == "asc") {
        if (x.innerHTML.toLowerCase() > y.innerHTML.toLowerCase()) {
          shouldSwitch = true;
          break;
        }
      } else if (dir == "desc") {
        if (x.innerHTML.toLowerCase() < y.innerHTML.toLowerCase()) {
          shouldSwitch = true;
          break;
        }
      }
    }
    if (shouldSwitch) {
      rows[i].parentNode.insertBefore(rows[i + 1], rows[i]);
      switching = true;
      switchcount++;
    } else {
      if (switchcount == 0 && dir == "asc") {
        dir = "desc";
        switching = true;
      }
    }
  }
}

使用jQuery实现明细排序

1、我们需要在HTML中创建一个表格,并在每个单元格中添加一个排序号。

<table id="myTable">
  <tr>
    <th class="sortable">排序号</th>
    <th class="sortable">姓名</th>
    <th class="sortable">年龄</th>
  </tr>
  <tr>
    <td>1</td>
    <td>张三</td>
    <td>25</td>
  </tr>
  <tr>
    <td>3</td>
    <td>李四</td>
    <td>30</td>
  </tr>
  <tr>
    <td>2</td>
    <td>王五</td>
    <td>28</td>
  </tr>
</table>

2、接下来,我们需要引入jQuery库,并编写一个jQuery函数来对表格进行排序,在这个函数中,我们将获取当前点击的列的索引,并根据该索引对表格进行排序。

$(document).ready(function() {
  $("th.sortable").click(function() {
    var table = $(this).parents("table").eq(0);
    var rows = table.find("tr:gt(0)").toArray().sort(compare($(this).index()));
    this.asc = !this.asc;
    if (!this.asc) { rows = rows.reverse(); }
    for (var i = 0; i < rows.length; i++) { table.append(rows[i]); }
  });
});
function compare(index) { return function(a, b) { var valA = getCellValue(a, index), valB = getCellValue(b, index); return $.isNumeric(valA) && $.isNumeric(valB) ? valA valB : valA.toString().localeCompare(valB); } } function getCellValue(row, index){ return $(row).children("td").eq(index).text(); } function sortTable() { var table = document.getElementById("myTable"); var rows = table.rows; var switching = true; while (switching) { switching = false; for (var i = 1; i < (rows.length 1); i++) { if (rows[i].className != "sorted" && rows[i + 1].className != "sorted") { var shouldSwitch = false; var a = rows[i].getElementsByTagName("TD"); var b = rows[i + 1].getElementsByTagName("TD"); for (var j = 0; j < a.length; j++) { if (a[j] && a[j].innerHTML.toLowerCase() > b[j].innerHTML.toLowerCase()) { shouldSwitch= true; break; } } if (shouldSwitch) { rows[i].parentNode.insertBefore(rows[i + 1], rows[i]); switching = true; break; } } } } } function addClass(row) { row.className += " sorted"; } setInterval(function(){ sortTable(); },500); window.onload=function(){ var lastRowIndex=table.rows.length-1; for(var i=0;i<lastRowIndex;i++){ addClass(table.rows[i]); } } var ths = document.getElementsByTagName('th'); for (var i=0;i<ths.length;i++){ ths[i].addEventListener('click',function(){ this.asc = this.asc==false?true:false; sortTable(); },false); } } $(document).ready(function() { $("th").click(function() { $(this).toggleClass("sorted"); sortTable(); }); }); $(document).ready(function() { $("th").click(function() { $(this).toggleClass("sorted"); sortTable(); }); }); $(document).ready(function() { $("th").click(function() { $(this).toggleClass("sorted"); sortTable(); }); }); $(document).ready(function() { $("th").click(function() { $(this).toggleClass("sorted"); sortTable(); }); }); $(document).ready(function() { $("th").click(function() { $(this).toggleClass("sorted"); sortTable(); }); }); $(document).ready(function() { $("th").click(function() { $(this).toggleClass("sorted"); sortTable(); }); }); $(document).ready(function() { $("th").click(function() { $(this).toggleClass("sorted"); sortTable(); }); }); $(document).ready(function() { $("th").click(function() { $(this).toggleClass("sorted"); sortTable(); }); }); $(document).ready(function() { $("th").click(function() { $(this).toggleClass("sorted"); sortTable(); }); }); $(document).ready(function() { $("th").click(function() { $(this).toggleClass("sorted"); sortTable(); }); }); $(document).ready(function() { $("th").click(function() { $(this).toggleClass("sorted"); sortTable(); }); }); $(document).ready(function() { $("th").click(function() { $(this).toggleClass("sorted"); sortTable(); }); }); $(document).ready(function() { $("th").click(function() { $(this).toggleClass("sorted"); sortTable(); }); }); $(document).ready(function() { $("th").click(function() { $(this).toggleClass("sorted"); sortTable(); }); }); $(document).ready(function() { $("th").click(function() { $(this).toggleClass("sorted"); sortTable(); }); }); $(document).ready(function() { $("th").click(function() { $(this).toggleClass("sorted"); sortTable(); }); }); $(document).ready(function() { $("th").

原创文章,作者:K-seo,如若转载,请注明出处:https://www.kdun.cn/ask/394394.html

Like (0)
Donate 微信扫一扫 微信扫一扫
K-seoK-seo
Previous 2024-03-31 03:01
Next 2024-03-31 03:12

相关推荐

  • html colspan怎么用

    HTML中的colspan属性是一个非常重要的元素,它用于合并表格中的单元格,通过使用colspan属性,我们可以创建跨越多个列的单元格,从而实现更复杂的表格布局。1. colspan的基本用法在HTML中,我们可以通过在&lt;td&gt;或&lt;th&gt;标签中添加colspan属性来指定单元格……

    2024-03-13
    0234
  • html表格线颜色怎么设置

    HTML表格线的颜色可以通过CSS样式来改变,在HTML中,表格的边框颜色通常是通过CSS的border属性来设置的,这个属性可以接受一个或多个值,用于设置边框的宽度、样式和颜色。1、边框宽度:border-width属性用于设置边框的宽度,它可以接受以下四个值:thin(细),medium(中等),thick(粗)和长度值(如px,……

    2024-03-13
    0156
  • CSS布局中BFC的详细介绍

    CSS布局中BFC的详细介绍CSS布局是网页设计中非常重要的一部分,它决定了网页元素在页面上的位置和排列方式,而BFC(Block Formatting Context)是一种用于控制元素盒模型的渲染机制,它可以使得盒子在垂直方向上产生换行,本文将详细介绍CSS布局中的BFC原理、特点以及如何使用BFC进行布局。BFC的原理与特点1、……

    2023-12-25
    0137
  • html漂亮表格样式(html设计漂亮的表格)

    欢迎进入本站!本篇文章将分享html漂亮表格样式,总结了几点有关html设计漂亮的表格的解释说明,让我们继续往下看吧!HTML表格怎么制作?1、输入代码之后, 在键盘上敲击End键,再敲击Tab键,快速创建。代码中,大括号中的内容表示的是表格总将要放置的内容,每个表格中如果需要放置不同的内容的话,可以在创建好表格后自行修改。2、代码,先用table标签定义一个表格,其中border表示边框,border=1表示边框为1个像素,数值越大,边框就越粗。

    2023-11-24
    0281
  • html的表格高度怎么设置不了

    HTML表格是网页设计中常用的元素之一,用于展示数据和信息,在HTML中,我们可以通过设置表格的高度来控制表格的显示大小,本文将详细介绍如何设置HTML表格的高度。1. 使用CSS样式设置表格高度在HTML中,我们可以使用CSS样式来设置表格的高度,通过为表格元素添加一个内联样式或者外部样式表,我们可以指定表格的高度属性(height……

    2024-03-22
    0158
  • html5怎么用表格「html中如何做表格table」

    各位朋友,大家好!小编整理了有关html5怎么用表格的解答,顺便拓展几个相关知识点,希望能解决你的问题,我们现在开始阅读吧!在html5中可以使用表格来显示数据,下面()标签用于创建表格?1、定义和用法form 标签用于为用户输入创建 HTML 表单。表单能够包含 input 元素,比如文本字段、复选框、单选框、提交按钮等等。表单还可以包含 menus、textarea、fieldset、legend 和 label 元素。表单用于向服务器传输数据。

    2023-11-19
    0145

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

免备案 高防CDN 无视CC/DDOS攻击 限时秒杀,10元即可体验  (专业解决各类攻击)>>点击进入