在前两节中,我们学习了用于查找兄弟元素的两组方法。

  • (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")的兄弟元素,这里的兄弟元素不分前后。