概述 next siblings selector
返回值:Array<Element(s)>
描述:匹配 “prev” 元素之后的所有 兄弟元素。具有相同的父元素,并匹配过滤“siblings”选择器。
prev: 任何有效的选择器
siblings: 一个选择器来过滤第一选择器以后的兄弟元素。
(prev + next) 和 (prev ~ siblings)之间最值得注意的不同点是他们各自的可及之范围。前者只达到紧随的同级元素,后者扩展了该达到跟随其的所有同级元素。
示例
找到所有与表单同辈的 input 元素
<form>
<label>Name:</label>
<input name="name" />
<fieldset>
<label>Newsletter:</label>
<input name="newsletter" />
</fieldset>
</form>
<input name="none" />
$("form ~ input")
[ <input name="none" /> ]
查找所有跟在 id 为 #prev 的元素后面的所有 div。注意,跟在后面的 span 不会被选中,因为它不是 div 。同时 "niece" 也不会被选中,因为它是某个兄弟元素的子元素,而不是兄弟元素。
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>next siblings demo</title>
<style>
div, span {
display: block;
width: 80px;
height: 80px;
margin: 5px;
background: #bfa;
float: left;
font-size: 14px;
}
div#small {
width: 60px;
height: 25px;
font-size: 12px;
background: #fab;
}
</style>
<script src="https://code.jquery.com/jquery-1.10.2.js"></script>
</head>
<body>
<div>div (doesn't match since before #prev)</div>
<span id="prev">span#prev</span>
<div>div sibling</div>
<div>div sibling <div id="small">div niece</div></div>
<span>span sibling (not div)</span>
<div>div sibling</div>
<script>
$( "#prev ~ div" ).css( "border", "3px groove blue" );
</script>
</body>
</html>