后面同辈元素选择器 (“prev ~ siblings”)

后面同辈元素选择器

描述:选择跟在“prev”元素后面所有的同辈元素,具有同一个父元素,匹配用于筛选的“siblings”选择器。

  • 增补版本:1.0jQuery( "prev ~ siblings" )

    prev: 任意有效的选择器。

    siblings: 用来筛选第一个选择器后面跟着的同辈元素的选择器。

prev + next)和(prev ~ siblings)之间的显著不同是,它们的各自接触。前者只接触到紧挨着的同辈元素,而后者扩展到接触所有后面跟着的同辈元素。

示例:

找到所有的div,它们是ID为#prevr的元素的后面的同辈元素。请注意,span不会被选中,因为它不是div,而且niece也不会被选中,因为它是一个同辈元素的子元素,不是真正的同辈元素。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
<!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>

演示: