jquery nextAll и пропустить первый элемент - PullRequest
1 голос
/ 16 ноября 2010

Мне нужно добавить событие click для первого дочернего TD для каждого TR с классом «topRow», которое переключает все следующие строки TR с классом «subRow», пропуская первый TR в TR.topRow.

Пример таблицы

<table>
    <tr class="topRow">
        <td>text</td>
        <td>Text</td>
        <td>Text</td>
    </tr>
    <tr class="otherRow">
        <td colspan="3">Text</td>
    </tr>
    <tr class="subRow">
        <td>text</td>
        <td>Text</td>
        <td>Text</td>
    </tr>
    <tr class="subRow">
        <td>text</td>
        <td>Text</td>
        <td>Text</td>
    </tr>
    <tr class="topRow">
        <td>text</td>
        <td>Text</td>
        <td>Text</td>
    </tr>
    <tr class="otherRow">
        <td colspan="3">Text</td>
    </tr>
    <tr class="topRow">
        <td>text</td>
        <td>Text</td>
        <td>Text</td>
    </tr>
    <tr class="otherRow">
        <td colspan="3">Text</td>
    </tr>
    <tr class="subRow">
        <td>text</td>
        <td>Text</td>
        <td>Text</td>
    </tr>
    <tr class="subRow">
        <td>text</td>
        <td>Text</td>
        <td>Text</td>
    </tr>
    <tr class="subRow">
        <td>text</td>
        <td>Text</td>
        <td>Text</td>
    </tr>
    <tr class="subRow">
        <td>text</td>
        <td>Text</td>
        <td>Text</td>
    </tr>
</table>

JQuery у меня на данный момент

$("tr.topRow td:first-child").click(function () {
    $(this).parent().nextUntil('tr:not(tr.subRow):gt(1)').slideToggle();
});

Другая вещь, которую я пробовал

$("tr.topRow td:first-child").click(function () {
    $(this).parent().nextUntil('tr:gt(1):not(tr.subRow):gt(1)').slideToggle();
});

Но я не могу получить требуемый результат.

1 Ответ

3 голосов
/ 16 ноября 2010

Вы можете просто добавить туда .next() для пропуска (что также упрощает вещи), например:

$("tr.topRow td:first-child").click(function () {
  $(this).parent().next().nextUntil('tr.topRow').slideToggle();
});

Вы можете проверить это здесь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...