javascript - 使用 jquery,如何根据 TR 属性对表中的行重新排序?

标签 javascript jquery

我有一个表格,其中的行类似于下图。这些行会不时通过 jquery 调用进行更新。使用 jquery,我将如何构建一个函数,根据 myAttribute 值将最高 myAttribute 值行放在顶部,将最低 myAttribute 值行放在底部,对这些表行进行重新排序?表中最多可以有 100 行。

<tr id='1' class='playerRow' myAttribute=5>
      <td> One</td>
      <td> Two</td>
</tr>
<tr id='2' class='playerRow' myAttribute=6>
      <td> One</td>
      <td> Two</td>
</tr>

最佳答案

<table>  
<tr id='1' class='playerRow' myAttribute='1'>
      <td> One1</td>
      <td> Two1</td>
</tr>
<tr id='2' class='playerRow' myAttribute='2'>
      <td> One2</td>
      <td> Two2</td>
</tr>
</table>

JQuery

var $table=$('table');

var rows = $table.find('tr').get();
rows.sort(function(a, b) {
var keyA = $(a).attr('myAttribute');
var keyB = $(b).attr('myAttribute');
if (keyA < keyB) return 1;
if (keyA > keyB) return -1;
return 0;
});
$.each(rows, function(index, row) {
$table.children('tbody').append(row);
});

工作演示是 http://www.jsfiddle.net/HELUq/1/

关于javascript - 使用 jquery,如何根据 TR 属性对表中的行重新排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3156851/

相关文章:

javascript - 使用堆叠布局时将自定义值字段映射到 x 值

php - Jquery 选项卡保持 url 中 subid 的选项卡打开

javascript - 重构代码时无法读取未定义的属性 'push',第 2 部分

javascript - 为什么我的自定义伪动画与 jQuery 的原生动画功能不同步?

javascript - 从可变长度字符串中提取 lat、lng

javascript - 延迟 JS 代码,直到加载 CSS 背景图像

jquery - 元素在 iOS 版 Safari 上损坏

javascript - 单击 JS 复制到剪贴板

javascript - jQuery animate() 仅适用于第二次点击

javascript - 限制全日历中每天创建的事件数