Количество строк между двумя конкретными строками с одинаковым классом с использованием jquery

#jquery #html

#jquery #HTML

Вопрос:

У меня есть структура таблицы, подобная:

 <table>
  <tr class="1">
    <td>Parent 1</td>
  </tr>
  <tr>
    <td>Parent 2</td>
  </tr>
  <tr>
    <td>Parent 3</td>
  </tr>
  <tr>
    <td>Parent 4</td>
  </tr>
  <tr class="1">
    <td>Parent 5</td>
  </tr>
  <tr>
    <td>Parent 6</td>
  </tr>

  ...
  ...
</table>
  

У меня есть tr с тем же классом.
Я хочу количество tr между tr с классом «1» с использованием jquery.

как и здесь, должно быть 3

Кто-нибудь может мне помочь?

Ответ №1:

Вы можете использовать .nextUntil()

 $(".1").first().nextUntil(".1").length
  

ДЕМОНСТРАЦИЯ

Комментарии:

1. Черт возьми, на 8 секунд быстрее. Должен ли я удалить мой?

2. @ShaunakD, НЕТ, ты не так хорошо скопировал это. Очевидно, что вы достигли ответа самостоятельно.

3. это дает правильный результат для первого, т. е. 3, но во второй раз это должно быть 1…it каждый раз отображается 3

4. @KerenCaelen, в настоящее время я использую .first() , поэтому каждый раз он выдает 3. Здесь обновлен fiddle jsfiddle.net/satpalsingh/hMzHZ

5. @Satpal : спасибо за помощь

Ответ №2:

Используйте .nextUntil()

 $('.1:first').nextUntil('.1').length
  

ДЕМОНСТРАЦИЯ