在前两节中,我们学习了用于查找兄弟元素的两组方法。
- (1)向前查找兄弟元素:prev()、prevAll()、prevUntil()
- (2)向后查找兄弟元素:next()、nextAll()、nextUntil()
实际上,除了以上两组方法之外,jQuery还为我们提供另外一种不分前后的查找方法:siblings()。
语法:
$().siblings(selector)
说明:
selector是一个可选参数,它是一个选择器,用来查找符合条件的兄弟元素。当参数省略,表示选择所有兄弟元素;当参数不省略时,表示选择满足条件的兄弟元素。
举例:不带参数的siblings()
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title></title>
<script src="js/jquery-1.12.4.min.js"></script>
<script>
$(function(){
$("#lvye").siblings().css("color", "red");
})
</script>
</head>
<body>
<ul>
<li>红:red</li>
<li>橙:orange</li>
<li>黄:yellow</li>
<li id="lvye">绿:green</li>
<li>青:cyan</li>
<li>蓝:blue</li>
<li>紫:purple</li>
</ul>
</body>
</html>
浏览器预览效果如下图所示。
分析:
$("#lvye").siblings()
表示选取id="lvye"
元素的所有兄弟元素,这里的兄弟元素是不分前后的。这里要注意一下,siblings()方法选取的的兄弟元素,不包括元素本身(难道你跟你自己是兄弟关系?)。
举例:带参数的siblings()
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title></title>
<script src="js/jquery-1.12.4.min.js"></script>
<script>
$(function(){
$("#lvye").siblings(".select").css("color", "red");
})
</script>
</head>
<body>
<ul>
<li>红:red</li>
<li class="select">橙:orange</li>
<li>黄:yellow</li>
<li id="lvye">绿:green</li>
<li>青:cyan</li>
<li class="select">蓝:blue</li>
<li>紫:purple</li>
</ul>
</body>
</html>
浏览器预览效果如下图所示。
分析:
$("#lvye").siblings(".select")
表示选取id="lvye"
元素的所有符合条件(即class="select"
)的兄弟元素,这里的兄弟元素不分前后。