# .prevAll()

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

## .prevAll( [selector ] )返回: jQuery

描述: 获得集合中每个匹配元素的所有前面的兄弟元素，选择性筛选的选择器。

- #### 添加的版本: 1.2.prevAll( [selector ] )

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

如果提供的jQuery代表了一组DOM元素， `.prevAll()` 方法允许我们能够通过搜索DOM树，在它们前面的元素和从匹配的元素构造一个新的jQuery对象。返回的元素顺序是从最靠近的兄弟元素开始的。

该方法选择性地接受同一类型选择器表达式，我们可以传递给$()函数。如果选择供应，将被过滤的元素通过测试它们是否匹配。.

考虑一个页面上有一个简单的列表：

1 2 3 4 5 6 7 |
    <ul>   <li>list item 1</li>   <li>list item 2</li>   <li class="third-item">list item 3</li>   <li>list item 4</li>   <li>list item 5</li></ul>

如果我们在第三个项目开始之前，我们可以找到它面前的元素来：

1 |
    $('li.third-item').prevAll().css('background-color', 'red');

此调用的结果是项目1和2的背景为红色。由于我们没有提供一个选择的表达，这些元素被明确列入前款为对象的一部分。如果我们有提供一个，这个元素将被测试的内容在匹配之前，他们都包括在内。

## 例子:

#### Locate all the divs preceding the last div and give them a class.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
    <!DOCTYPE html><html><head>  <style>   div { width:70px; height:70px; background:#abc;        border:2px solid black; margin:10px; float:left; }  div.before { border-color: red; }  </style>  <script src="https://code.jquery.com/jquery-latest.js"></script></head><body>  <div></div>  <div></div>  <div></div>  <div></div><script>$("div:last").prevAll().addClass("before");</script> </body></html>

#### Demo: