Переместить строки таблицы с помощью jQuery - PullRequest
2 голосов
/ 14 октября 2011

У меня есть этот код:

<table>
 <tr id="a"><td>A</td></tr>
 <tr id="d"><td>D</td></tr>
 <tr id="e"><td>E</td></tr>
 <tr id="b"><td>B</td></tr>
 <tr id="c"><td>C</td></tr>
</table>

Как с помощью jQuery можно упорядочить строки?


Обновление: Мне нужно использоватьФункция перемещения не является функцией сортировки, поскольку настоящие идентификаторы не являются буквами.Извините за путаницу.Я хочу сделать что-то вроде этого:

$("#a").after(rows_b_and_c)

Но я не знаю, как получить строки.

Ответы [ 2 ]

2 голосов
/ 14 октября 2011

если у вас нет событий, прикрепленных к <td> с, а содержимое - просто текст, это будет делать:

var tds = $('table tr').sort(function(a,b){
    return $('td:eq(0)',a).text() > $('td:eq(0)',b).text();
});
$('table').html(tds);

jsfiddle demo


это зависит ... как бы вы заказали это?пожалуйста, будьте более конкретны.

, чтобы дать вам подсказку, вы можете проверить:

.after () Вставить указанный контентпо параметру, после каждого элемента в наборе совпадающих элементов.

.before () Вставить содержимое, указанное параметром, перед каждым элементом в наборесогласованных элементов.

.insertAfter () Вставьте каждый элемент в набор сопоставленных элементов после цели.

.insertBefore () Вставьте каждый элемент в наборе подходящих элементов перед целью.


Вы забавны.: p

вы сказали, что знаете эти функции, но у вас не получилось решить проблему.

в любом случае, вот несколько способов сделать это: http://jsfiddle.net/reigel/7Pb6a/1/

1 голос
/ 14 октября 2011

Cleaner:

var sortID = function(a,b){
    return a.id > b.id ? 1 : -1;
};
$('table tr').sort(sortID).appendTo('table');
...