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="https://www.lanmper.cn/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>
- this button is disabled
-
- this button is disabled
查找每个紧随着段落的元素。只保留其中含有"selected"样式的元素。
<!DOCTYPE html> <html> <head> <script src="https://www.lanmper.cn/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