jQuery 「走査系のメソッド」 要素の前・後の兄弟要素を範囲を限定して抽出する

.prevall()や.nextAll()と同様に、与えられたjQueryオブジェクトの要素に対し、.prevUntil()は前、.nextUntil()は後ろの兄弟要素を取得します。ただし、異なるのは探索の停止条件をセレクタと指定できることです。結果に含まれるのは、探索停止条件のセレクタにマッチした要素の直前までです。停止条件にマッチした要素そのものは、結果に含まれません。停止条件のセレクタが省略された場合、及び何もマッチしない場合は、それぞれ前・後のすべての兄弟要素が結果に含まれます。

書式

.prevUntil([セレクタ])
.nextUntil([セレクタ])
$('li.three').prevUntil('.two')
$('li.three').nextUntil('.six')

サンプル

<body>
    <div class="main">
      <div class="header">
        <h1> サンプル </h1>
      </div>
      <div class="content">
        <p id="zero" class="sticky">0番目のP</p> 
        <p id="one" class="sticky">1番目のP</p>
        <p id="two" class="sticky">2番目のP</p>
        <p id="three" class="sticky">3番目のP</p>
        <p id="four" class="sticky">4番目のP</p>
        <p id="five" class="sticky">5番目のP</p>
        <p id="six" class="sticky7">6番目のP</p>
        <p id="seven" class="sticky8">7番目のP</p>
        <button class="button" id="button1" type="button" name="button1">4番目の兄弟1番目まで</button>
        <button class="button" id="button2" type="button" name="button2">4番目の兄弟7番目まで</button>
      </div>
      <div class="footer">
        <hr>
        <p class="copyright">2019 xxxx all rights reserved.</p>
      </div>
    </div>
    <script>
      $(document).ready(function(){
        $('#button1').on('click', function() {
          $('#four').prevUntil('#one').css('backgroundColor', 'blue').css('color','white');
        });
        $('#button2').on('click', function() {
          $('#four').nextUntil('#seven').css('backgroundColor', 'blue').css('color','white');
        });
      });
    </script>
 </body>

停止条件付きで兄弟要素を探索する

実行結果
「4番目の兄弟1番目まで」ボタンをクリックした後
実行結果
「4番目の兄弟7番目まで」ボタンをクリックした後