jq next nextAll nextUntil siblings的区别
以前我常用的是siblings,然后就是next,那么nextAll和nextUntil是啥?一查才知道他们的关系是这样的:
next:紧挨着$('')的一个元素
nextAll:在$('')以后的所有的同辈元素
nextUntil:until有直到。。。之前的意思,所以他表示$('')以后的所有的同辈元素,不过要在nextUntil参数之前,不包括匹配的元素本身
sibings:$('')前后的所有同辈元素
简单理解就是,next就是找他的弟弟/妹妹,nextAll就是找他所有的弟弟/妹妹,nextUntil就是找比他小一定年龄的弟弟/妹妹,siblings就是找他所有的哥哥/姐姐,还有他的所有的弟弟/妹妹。所以同理的同辈关系,prev,prevAll ,prevUntil
下面是简单的测试代码
1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 2 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"> 3 <head> 4 <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> 5 <title>Document</title> 6 <script type='text/javascript' src='http://code.jquery.com/jquery-1.9.1.min.js'></script> 7 </head> 8 <body> 9 <div class="first"> 10 <a href="#">hhh</a> 11 <h1>这是一个标题</h1> 12 <p>这是一个test</p> 13 <p>这是一个test</p> 14 <p>这是一个test</p> 15 <p>这是一个test</p> 16 <div>hhha</div> 17 <p>这是一个test</p> 18 <p>这是一个test</p> 19 </div> 20 <script> 21 $(function(){ 22 //$('p:first').next().css('background','red'); 23 //$('p:first').nextAll().css('background','yellow'); 24 //$('p:first').nextUntil('div').css({'font-size':20,background:'red'}); 25 //$('p:first').siblings().css('background','yellow'); 26 }); 27 </script> 28 </body> 29 </html>