.prevAll()| jqueryAPI 2.2 中文手册- AspRain.cn 致力于Web开发技术翻译整理

jQuery API 2.2.0

.prevAll()

分类:遍历 > 树遍历

返回: jQuery

.prevAll( [selector ] )

描述:获得匹配的元素集合中每个元素所有前面的同辈元素,视情况用一个选择器作筛选。

加入于: 1.2
.prevAll( [selector ] )
  • selector
    类型:Selector
    一个字符串,它包含了一个选择器表达式,用来匹配所针对的元素。

给定一个jQuery对象,代表一个DOM元素的集合,.prevAll()方法在DOM树中搜索遍这些元素所有的前面的同辈元素,并根据匹配的元素构造一个新的jQuery对象;返回的元素顺序是从最接近的同辈元素开始的。

该方法可视情况接受一个选择器表达式,与我们可以传递给$()函数的选择器表达式类型相同。如果提供了这个选择器,将对元素作筛选,测试它是否匹配选择器。

设想一个网页上有一个简单的列表:

<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>

如果我们开始于第三项,我们可以找到所有它前面的元素:

$( "li.third-item" ).prevAll().css( "background-color", "red" );

这个调用的结果是第一项和第二项有红色的背景。因为我们没有应用一个选择器表达式,这些前面的元素毫不含糊地会成为对象的一部分。如果我们提供了一个选择器表达式,只有匹配这个表达式的元素才会包括在内。

示例

定位最后一个div之前的所有div,并给它们加一个样式类。

<!doctype html>
<html lang="en">
<head>
  <meta charset="utf-8">
  <title>prevAll demo</title>
  <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-1.10.2.js"></script>
</head>
<body>
 
<div></div>
<div></div>
<div></div>
<div></div>
 
<script>
$( "div:last" ).prevAll().addClass( "before" );
</script>
 
</body>
</html>

演示结果

如果网页上不能运行示例,请点击http://www.asprain.cn/jQueryAPI/prevall.htm查看示例。

如果你觉得本文档对你有用,欢迎给翻译作者支付宝打赏,支持翻译作者源源不断翻译更多有用的技术文档。