JQuery, как я могу сохранить цвет строки таблицы после удаления строки таблицы? - PullRequest
0 голосов
/ 28 февраля 2011

Извините, если заголовок не имеет смысла, в основном у меня есть несколько строк таблицы, таких как:

<table>
<tr class="odd">
<td><button class="button_clicked">Hide row</button></td>
</tr>
<tr class="even">
<td><button class="button_clicked">Hide row</button></td>
</tr>
<tr class="odd">
<td><button class="button_clicked">Hide row</button></td>
</tr>
<tr><td class="notes"</td></tr>
</table>

У каждого tr есть класс, нечетный - белый фон и даже серый фон,Я использую jquery, который говорит, что если нажата кнопка в одном из тд, то скрыть всю строку tr, где была нажата кнопка.Некоторые строки таблицы имеют дополнительный символ tr сразу после него для заметок, поэтому jquery обнаруживает, присутствует ли он также, если это так, также удаляет этот tr.Но проблема сейчас в том, что если я скрываю tr с серым фоном, появится строка таблицы под ним, и теперь у меня есть 2 строки таблицы, которые белого цвета и нарушают четный / нечетный дизайн строк таблицы.Поэтому я попытался написать дополнительный код ниже, чтобы выполнить дополнительную проверку, но он останавливает работу скрипта.Это не дает мне ошибку, это просто показывает сценарий как прерванный, какие-либо предложения?

        $('.button_clicked').click( function(e) {

        var row = $(this).closest('tr');

        // hide this row first
        row.hide();

        // next, get the next TR, see if it is a notes row, and hide it if it is
        var nxt = row.next();

        if (nxt.hasClass('show_notes')) {

            nxt.hide();

        }else
        {

            if (nxt.hasClass('odd')) {

                nxt.attr('class','even');

            }else
            {

                nxt.attr('class','odd');

            }

        }

        e.preventDefault();

    });

1 Ответ

1 голос
/ 28 февраля 2011

Попробуйте сделать это вместо

if (nxt.hasClass('show_notes')) {
    nxt.hide();
}
else {
    row.nextAll('tr').toggleClass('odd even');
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...