next()

取得匹配的元素集合中每一个元素紧邻的后面同辈元素的元素集合。如果提供一个选择器,那么只有紧跟着的兄弟元素满足选择器时,才会返回此元素。

.next([selector ])
  • selector 类型: Selector 。一个字符串,其中包含一个选择器表达式针对匹配元素。

如果一个jQuery代表了一组DOM元素, .next() 方法允许我们找遍元素集合中紧跟着这些元素的直接兄弟元素,并根据匹配的元素创建一个新的 jQuery 对象。

该方法还可以接受一个可选的选择器表达式,该选择器表达式可以是任何可传给 $() 函数的选择器表达式。如果每个元素的直接兄弟元素满足所提供的选择器,那么它会保存在新生成的 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').next().css('background-color', 'red');
  • list item 1
  • list item 2
  • list item 3
  • list item 4
  • list item 5

调用后的结果是项目4变成红色背景,由于我们没有提供一个选择器表达式,所以紧随其后的元素很明确的成为了结果对象中的一部分。如果我们有提供一个选择的表达式,只有匹配这个表达式的元素将包括在内。

例子

查找每个紧随着被禁用的按钮的元素,并将其文本变为"this button is disabled"。

<!DOCTYPE html>
<html>
<head>
  <style> 
  span { color:blue; font-weight:bold; }
  button { width:100px; }
  </style>
  <script src="./static/js/jquery-3.5.0.js"></script>
</head>
<body>
  <div><button disabled="disabled">First</button> - <span></span></div>
  <div><button>Second</button> - <span></span></div>
 
  <div><button disabled="disabled">Third</button> - <span></span></div>
<script>$("button[disabled]").next().text("this button is disabled");</script>
 
</body>
</html>
-
-
-

查找每个紧随着段落的元素。只保留其中含有"selected"样式的元素。

<!DOCTYPE html>
<html>
<head>
  <script src="./static/js/jquery-3.5.0.js"></script>
</head>
<body>
  <p>Hello</p> 
  <p class="selected">Hello Again</p>
  <div><span>And Again</span></div>
<script>$("p").next(".selected").css("background", "yellow");</script>
 
</body>
</html>

Hello

Hello Again

And Again

上篇: siblings()

下篇: nextAll()