.nextAll()

.nextAll( [ selector ] ) 官网原E文: jQuery

描述: 获得每个匹配元素集合中所有下面的同辈元素,选择性筛选的选择器。

  • version added: 1.2.nextAll( [ selector ] )

    selector选择器字符串,用于确定到哪个前辈元素时停止匹配。

如果提供的jQuery代表了一组DOM元素,.nextAll()方法允许我们找遍所有元素所在的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').nextAll().css('background-color', 'red');

调用后的结果是项目4和5变成红色背景。 由于我们没有提供一个选择器表达式,祖先元素都是返回的jQuery对象的一部分。如果我们有提供一个选择的表达式,只有在这些匹配的项目将包括在内。

Examples:

Example: Locate all the divs after the first and give them a class.

<!DOCTYPE html>
<html>
<head>
  <style>

  div { width: 80px; height: 80px; background: #abc; 
        border: 2px solid black; margin: 10px; float: left; }
  div.after { border-color: red; }
  </style>
  <script src="http://code.jquery.com/jquery-latest.min.js"></script>
</head>
<body>
  <div>first</div>
  <div>sibling<div>child</div></div>
  <div>sibling</div>

  <div>sibling</div>
<script>$("div:first").nextAll().addClass("after");</script>

</body>
</html>

Demo:

Example: Locate all the paragraphs after the second child in the body and give them a class.

<!DOCTYPE html>
<html>
<head>
  <style>
  div, p { width: 60px; height: 60px; background: #abc;
           border: 2px solid black; margin: 10px; float: left; }
  .after { border-color: red; }
  </style>
  <script src="http://code.jquery.com/jquery-latest.min.js"></script>
</head>
<body>
  <p>p</p>

  <div>div</div>
  <p>p</p>
  <p>p</p>
  <div>div</div>

  <p>p</p>
  <div>div</div>
<script>
    $(":nth-child(1)").nextAll("p").addClass("after");
</script>

</body>
</html>

Demo:

jQuery 1.6 API 中文版Clove整理、修订