Menu
×
   ❮     
HTML CSS JAVASCRIPT SQL PYTHON JAVA PHP HOW TO W3.CSS C C++ C# BOOTSTRAP REACT MYSQL JQUERY EXCEL XML DJANGO NUMPY PANDAS NODEJS R TYPESCRIPT ANGULAR GIT POSTGRESQL MONGODB ASP AI GO KOTLIN SASS VUE DSA GEN AI SCIPY AWS CYBERSECURITY DATA SCIENCE
     ❯   

操作方法

操作方法首页

菜单

图标栏 菜单图标 手风琴 选项卡 垂直选项卡 选项卡标题 全页选项卡 悬停选项卡 顶部导航 响应式顶部导航 分割导航 带图标的导航栏 搜索菜单 搜索栏 固定侧边栏 侧边导航 响应式侧边栏 全屏导航 画布外菜单 悬停侧边栏按钮 带图标的侧边栏 水平滚动菜单 垂直菜单 底部导航 响应式底部导航 导航链接底部边框 右对齐菜单链接 居中菜单链接 等宽菜单链接 固定菜单 滚动时下拉栏 滚动时隐藏导航栏 滚动时缩小导航栏 粘性导航栏 图片上的导航栏 悬停下拉菜单 点击下拉菜单 级联下拉菜单 顶部导航中的下拉菜单 侧边导航中的下拉菜单 响应式导航栏下拉菜单 子导航菜单 上拉菜单 超级菜单 移动菜单 幕帘菜单 折叠侧边栏 折叠侧边面板 分页 面包屑导航 按钮组 垂直按钮组 粘性社交栏 药丸导航 响应式页眉

图片

幻灯片 幻灯片画廊 模态图片 灯箱 响应式图片网格 图片网格 图片库 可滚动图片库 选项卡画廊 图片叠加淡入 图片叠加滑动 图片叠加缩放 图片叠加标题 图片叠加图标 图片效果 黑白图片 图片文字 图片文字块 透明图片文字 全屏图片 图片上的表单 英雄图片 模糊背景图片 滚动时更改背景 并排图片 圆角图片 头像图片 响应式图片 居中图片 缩略图 图片周围的边框 团队介绍 粘性图片 翻转图片 摇晃图片 作品集 带过滤器的作品集 图片缩放 图片放大镜 图片对比滑块 网站图标

按钮

警示按钮 轮廓按钮 分割按钮 动画按钮 淡入淡出按钮 图片上的按钮 社交媒体按钮 阅读更多/阅读更少 加载按钮 下载按钮 药丸按钮 通知按钮 图标按钮 上一个/下一个按钮 导航中的更多按钮 块级按钮 文本按钮 圆形按钮 滚动到顶部按钮

表单

登录表单 注册表单 结账表单 联系表单 社交登录表单 注册表单 带图标的表单 新闻通讯 堆叠表单 响应式表单 弹出表单 内联表单 清除输入字段 隐藏数字箭头 复制文本到剪贴板 动画搜索 搜索按钮 全屏搜索 导航栏中的输入字段 导航栏中的登录表单 自定义复选框/单选按钮 自定义选择 切换开关 选中复选框 检测大写锁定 回车键触发按钮 密码验证 切换密码可见性 多步骤表单 自动完成 关闭自动完成 关闭拼写检查 文件上传按钮 空输入验证

过滤器

过滤列表 过滤表格 过滤元素 过滤下拉菜单 排序列表 排序表格

表格

斑马纹表格 居中表格 全宽表格 嵌套表格 并排表格 响应式表格 对比表格

更多

全屏视频 模态框 删除模态框 时间线 滚动指示器 进度条 技能条 范围滑块 颜色拾取器 电子邮件字段 工具提示 悬停显示元素 弹出窗口 可折叠 日历 HTML 包含 待办事项清单 加载器 徽章 星级评分 用户评分 叠加效果 联系信息标签 卡片 翻转卡片 个人资料卡片 产品卡片 警报 呼出框 笔记 标签 丝带 标签云 圆形 样式水平线 优惠券 列表组 带徽章的列表组 无项目符号的列表 自适应文本 镂空文本 发光文本 固定页脚 粘性元素 等高 清除浮动 自适应浮动 Snackbar 全屏窗口 滚动绘制 平滑滚动 渐变背景滚动 粘性头部 滚动时收缩头部 价格表 视差 纵横比 自适应内联框架 切换喜欢/不喜欢 切换隐藏/显示 切换暗黑模式 切换文本 切换类 添加类 移除类 更改类 活动类 树形视图 移除小数 移除属性 离线检测 查找隐藏元素 重定向网页 格式化数字 悬停缩放 翻转盒子 垂直居中 在DIV中居中按钮 居中列表 悬停过渡 箭头 形状 下载链接 全高元素 浏览器窗口 自定义滚动条 隐藏滚动条 显示/强制显示滚动条 设备外观 可编辑边框 占位符颜色 禁用文本区域大小调整 禁用文本选择 文本选择颜色 项目符号颜色 垂直线 分隔线 文本分隔线 动画图标 倒计时 打字机效果 敬请期待页面 聊天信息 弹出聊天窗口 分屏 推荐语 章节计数器 语录幻灯片 可关闭的列表项 典型设备断点 可拖动的HTML元素 JS媒体查询 语法高亮 JS动画 JS字符串长度 JS指数运算 JS默认参数 JS随机数 JS排序数字数组 JS扩展运算符 JS滚动到视图 获取当前日期 获取当前URL 获取当前屏幕尺寸 获取内联框架元素

网站

创建免费网站 制作网站 制作静态网站 托管静态网站 制作网站 (W3.CSS) 制作网站 (BS3) 制作网站 (BS4) 制作网站 (BS5) 创建并查看网站 创建链接树网站 创建作品集 创建简历 制作餐厅网站 制作企业网站 制作网络书籍 居中网站 联系部分 关于页面 大型头部 示例网站

网格

2 列布局 3 列布局 4 列布局 扩展网格 列表网格视图 混合列布局 列卡片 锯齿形布局 博客布局

谷歌

谷歌图表 谷歌字体 谷歌字体搭配 谷歌分析设置

转换器

重量转换 温度转换 长度转换 速度转换

博客

获得开发人员工作 成为前端开发人员 聘用开发人员

如何 - 对表格进行排序


学习如何使用 JavaScript 对 HTML 表格进行排序。


单击按钮,根据客户名称按字母顺序对表格进行排序

名称 国家
Berglunds snabbkop 瑞典
North/South 英国
Alfreds Futterkiste 德国
Koniglich Essen 德国
Magazzini Alimentari Riuniti 意大利
Paris specialites 法国
Island Trading 英国
Laughing Bacchus Winecellars 加拿大

尝试一下 »


创建排序函数

示例

function sortTable() {
  var table, rows, switching, i, x, y, shouldSwitch;
  table = document.getElementById("myTable");
  switching = true;
  /* 循环,直到
  没有进行过交换: */
  while (switching) {
    // 从说:没有进行过交换开始
    switching = false;
    rows = table.rows;
    /* 循环遍历所有表格行(除了
    第一行,它包含表格标题): */
    for (i = 1; i < (rows.length - 1); i++) {
      // 从说不应该进行交换开始
      shouldSwitch = false;
      /* 获取要比较的两个元素,
      从当前行和下一行各取一个: */
      x = rows[i].getElementsByTagName("TD")[0];
      y = rows[i + 1].getElementsByTagName("TD")[0];
      // 检查这两行是否需要交换位置
      if (x.innerHTML.toLowerCase() > y.innerHTML.toLowerCase()) {
        // 如果需要,标记为需要交换并跳出循环
        shouldSwitch = true;
        break;
      }
    }
    if (shouldSwitch) {
      /* 如果已标记需要交换,则进行交换
      并标记已进行交换: */
      rows[i].parentNode.insertBefore(rows[i + 1], rows[i]);
      switching = true;
    }
  }
}
尝试一下 »


通过点击表头排序表格

点击表头对表格进行排序。

点击“姓名”按姓名排序,点击“国家”按国家排序。

第一次点击时,排序方向为升序 (A 到 Z)。

再次点击,排序方向将变为降序 (Z 到 A)

名称 国家
Berglunds snabbkop 瑞典
North/South 英国
Alfreds Futterkiste 德国
Koniglich Essen 德国
Magazzini Alimentari Riuniti 意大利
Paris specialites 法国
Island Trading 英国
Laughing Bacchus Winecellars 加拿大

示例

<table id="myTable2">
<tr>
<!--当点击表头时,运行 sortTable 函数,并传递参数,
0 表示按姓名排序,1 表示按国家排序: -->
<th onclick="sortTable(0)">姓名</th>
<th onclick="sortTable(1)">国家</th>
</tr>
...

<script>
function sortTable(n) {
  var table, rows, switching, i, x, y, shouldSwitch, dir, switchcount = 0;
  table = document.getElementById("myTable2");
  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;
      // 每次交换时,将此计数增加 1
      switchcount ++;
    } else {
      /* 如果没有进行交换并且方向为“asc”,
      将方向设置为“desc”并再次运行 while 循环。 */
      if (switchcount == 0 && dir == "asc") {
        dir = "desc";
        switching = true;
      }
    }
  }
}
</script>
尝试一下 »

按数字排序表格

示例

if (Number(x.innerHTML) > Number(y.innerHTML)) {
  shouldSwitch = true;
  break;
}
尝试一下 »

×

Contact Sales

If you want to use W3Schools services as an educational institution, team or enterprise, send us an e-mail:
[email protected]

Report Error

If you want to report an error, or if you want to make a suggestion, send us an e-mail:
[email protected]

W3Schools is optimized for learning and training. Examples might be simplified to improve reading and learning. Tutorials, references, and examples are constantly reviewed to avoid errors, but we cannot warrant full correctness of all content. While using W3Schools, you agree to have read and accepted our terms of use, cookie and privacy policy.

Copyright 1999-2024 by Refsnes Data. All Rights Reserved. W3Schools is Powered by W3.CSS.