# .nextUntil()

所属分类：遍历 > 树遍历 英文文档：.nextUntil()

## .nextUntil( [selector ] [, filter ] )返回: jQuery

描述: 通过选择器，DOM节点，或jQuery对象得到每个元素之后的所有兄弟元素，但不包括匹配的元素。

- #### 添加的版本: 1.4.nextUntil( [selector ] [, filter ] )

  - selector
    类型: Selector
    一个字符串，其中包含一个表示匹配元素的选择器表达式。
  - filter
    类型: Selector
    一个字符串，其中包含一个选择器表达式用来匹配的元素。

- #### 添加的版本: 1.6.nextUntil( [element ] [, filter ] )

  - element
    类型: Element
    一个DOM节点或jQuery对象说明哪里开始停止匹配接下来的同级元素。
  - filter
    类型: Selector
    一个字符串，其中包含一个选择器表达式用来匹配的元素。

如果提供一个选择器表达式代表DOM元素集合，`.nextUntil()` 方法会查找这些元素所在的DOM树中跟在它们后面的元素，直到遇到了一个跟提供的参数匹配的元素的时候才会停下来。新返回的 jQuery 对象里包含了后面所有找到的兄弟元素，但不包括那个选择器匹配到的元素。

如果没有选择器匹配到，或者没有提供参数，那么跟在后面的所有同辈元素都会被选中。这就跟用没有提供参数的 `.nextAll()`效果一样。

从 jQuery 1.6 开始, 一个DOM节点或jQuery对象，而不是一个选择器，可被传递到`.nextUntil()`方法。

该方法的 filter 参数接受一个选择器表达式。如果提供此参数，将通过此参数提供的选择器表达式测试它们是否匹配过滤元素。

## 例子:

#### 查找 <dt id="term-2"> 之后的所有兄弟元素，直到遇到 <dt> 为止，并将他们的背景色设为红色。同样的， 查找 <dt id="term-1"> 之后，<dd>的所有兄弟元素，直到遇到 <dt id="term-3"> 为止，并将他们的文字颜色设为绿色。

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
    <!DOCTYPE html><html><head>  <script src="https://code.jquery.com/jquery-latest.js"></script></head><body>  <dl>  <dt id="term-1">term 1</dt>  <dd>definition 1-a</dd>  <dd>definition 1-b</dd>  <dd>definition 1-c</dd>  <dd>definition 1-d</dd>   <dt id="term-2">term 2</dt>  <dd>definition 2-a</dd>  <dd>definition 2-b</dd>  <dd>definition 2-c</dd>   <dt id="term-3">term 3</dt>  <dd>definition 3-a</dd>  <dd>definition 3-b</dd></dl><script>$("#term-2").nextUntil("dt")  .css("background-color", "red"); var term3 = document.getElementById("term-3");$("#term-1").nextUntil(term3, "dd")  .css("color", "green"); </script> </body></html>

#### Demo: