我正在使用jquery和jquery插件“tablesorter”(http://tablesorter.com/docs/)对表进行排序。 现在我有困难,我有跟随html(另一种方式是不可能的):
<table class="tablesorter">
<tr>
<th>ID</th>
<th>Name</th>
<th>Age</th>
</tr>
</table>
<table>
<tr>
<td>1</td>
<td>Bob</td>
<td>24</td>
</tr>
</table>
<table>
<tr>
<td>1</td>
<td>James</td>
<td>33</td>
</tr>
</table>
<table>
<tr>
<td>5</td>
<td>PJ</td>
<td>28</td>
</tr>
</table>
<table>
<tr>
<td>1</td>
<td>Sue</td>
<td>39</td>
</tr>
</table>
每张桌子都是一行。现在我想对这么多表进行排序,因为它是一个表。 有没有解决这个问题的方法?
我在这里找到了一个尝试:http://jsfiddle.net/Mottie/8cg4f/31/ 但是有两个表,脚本只对一个表中的数据进行排序。
答案 0 :(得分:1)
瞄准要掠夺的牌桌,向下钻取<tr>
,将它们移动到需要的位置,然后爬回(现在为空)<table>
,将它们扔掉。 jsFiddle
$('table:not(.tablesorter)').find('tr').appendTo('.tablesorter')
.end().end().remove();
编辑根据评论,我使用<tr>
s jsFiddle上的填充模拟了“<td>
s之间的间距”。
如果您对最终页面有其他要求,请告诉我您最终想要的内容,并且我可以帮助您创建一个能够生成有效html的解决方案,该html会一致地为所有用户显示。
答案 1 :(得分:0)
尝试这样的事情:
var $table = $(".tablesorter");
$table.nextAll("table").children().appendTo($table).end().remove();
$table.tablesorter();