Получить все элементы между элементами одного класса с помощью jquery - PullRequest
0 голосов
/ 26 мая 2020

У меня есть следующее дерево элементов в DOM:

<table>
  <tbody>
    <tr>
      <td>
        <div class="separator1"></div>
      </td>
    </tr>
    <tr></tr>
    <tr></tr>
    <tr>
      <td>
        <div class="separator2"></div>
      </td>
    </tr>
  </tbody>
</table>

У меня также есть следующая структура:

<div class="separator1"></div>
<div></div>
<div></div>
<div class="separator2"></div>

Как мне получить все элементы, которые находятся между элементом с классом "separator1" и элементом с классом "separator2" в обоих сценариях ios?

В первом примере я хочу вернуть все tr, которые находятся между ними, во втором примере все div, которые находятся между ними, но с та же функция.

То, что я пробовал, было nextAll() и nextUntil(), но они возвращают только братьев и сестер, которые работают во втором примере, но не в первом.

1 Ответ

0 голосов
/ 26 мая 2020

Нам нужно обработать родителей

const $from = $("tr").has(".separator1");
const $to   = $("tr").has(".separator2");
const $range = $from.nextUntil($to)
console.log($range.text())
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<table>
  <tbody>
    <tr>
      <td>
        <div class="separator1">Sep1</div>
      </td>
    </tr>
    <tr><td>Cell 1</td></tr>
    <tr><td>Cell 2</td></tr>
    <tr><td>Cell 3</td></tr>
    <tr>
      <td>
        <div class="separator2">Sep2</div>
      </td>
    </tr>
  </tbody>
</table>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...