javascript - 使用 jQuery 按升序对行进行排序

标签 javascript jquery

此代码有效,但仅检查第一列。我想用点来检查第二列。我该如何修改它?

HTML 表格:

<table width="100%">
    <thead>
        <tr>
            <th width="60%">Name</th>
            <th width="20%">School</th>
            <th width="20%">Points</th>
        </tr>
    </thead>
    <tbody>
      <tr>
        <td rowspan="4"><h1>Event 1</h1></td>
          <td>School1</td>
          <td>74</td>
      </tr>
       <tr>
          <td>School2</td>
           <td>69</td>
       </tr>
      <tr>
          <td>School3</td>
           <td>71</td>
      </tr>
      <tr>
          <td>School4</td>
           <td>11</td>
      </tr>
      <tr>
        <td> </td>
        <td> </td>
      </tr>
      <tr>
        <td rowspan="4"><h1>Event 2</h1></td>
          <td>School1</td>
          <td>34</td>
      </tr>
       <tr>
          <td>School5</td>
           <td>29</td>
       </tr>
      <tr>
          <td>School3</td>
           <td>62</td>
      </tr>
      <tr>
          <td>School7</td>
           <td>15</td>
      </tr>
   </tbody>
</table>

jQuery:

 var $tbody = $('#caltbl tbody');
            $tbody.find('tr').sort(function (a, b) {
                var tda = $(a).find('td:eq(0)').text();
                var tdb = $(b).find('td:eq(0)').text();
                // if a < b return 1
                return tda > tdb ? 1
                       // else if a > b return -1
                       : tda < tdb ? -1
                       // else they are equal - return 0    
                       : 0;
            }).appendTo($tbody);

我是怎么知道的?

JSFIDDLE

编辑:对不起,我的实时代码与使用的 rowspan 不同。是否有可能将其按升序排列,以便对事件进行不同的排序?

最佳答案

eq(0) 表示您正在使用第一个索引。将其更改为 eq(1),以便它可以考虑第二个索引。

var tda = $(a).find('td:eq(1)').text();
var tdb = $(b).find('td:eq(1)').text();

关于javascript - 使用 jQuery 按升序对行进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39094025/

相关文章:

Javascript + AngularJS - 比较 JSON

javascript - React 中的打字机效果

javascript - 将事件数据传递给javascript中的事件处理程序

javascript - 将文本输入转换为 javascript 函数的实际参数

javascript - 使用 jQueryUI 选项卡切换选项卡时是否可以交叉淡入淡出?

jquery - 如何选择所有仅包含一行的<pre>?

javascript - HTML、jquery显示时调整图片大小

javascript - 隐藏展开/折叠表 jQuery 上第一列以外的列

javascript - 站点更改后保持打开状态的 jQuery 下拉列表——帮助新手

javascript - 在 jQuery 方法中使用 this