Это, как я полагаю, вам известно (учитывая ваш отказ от ответственности, что HTML должен «оставаться как есть ...»), было бы намного проще, если бы вы могли поместить заголовок / первую строку в элемент thead
и остаток в tbody
, но один способ, который работает с HTML 'как:'
$(".up,.down").click(function() {
var row = $(this).parents("tr:first");
var firstrow = $('table tr:first');
if ($(this).is(".up") && row.prevAll().length > 1) {
row.insertBefore(row.prev());
}
else if ($(this).is(".down") && row.nextAll().length > 0) {
row.insertAfter(row.next());
}
else {
return false;
}
});
Демонстрация JS Fiddle .
Кстати, кстати, ваш сценарий мог генерировать ошибки из комментария (хотя я подозреваю, что он был добавлен для нашего удобства, а не в вашем реальном JavaScript) синтаксисе:
<!-- comment text -->
является синтаксисом html, и в пределах тегов <script></script>
недопустим, чтобы комментировать JavaScript, используйте либо:
// single-line comment
// which needs to have the double-slash
// preface each comment-line...
или
/* This is a multi-line
comment, and this text
will happily remain commented-out
until you get to
one of these comment-close things, just to the right -> */
Ссылки: