3種方法:1、用prev(),獲取前一個(gè)同級(jí)元素,語法“元素.prev()”;2、用prevAll(),可獲取前面的所有同級(jí)元素,語法“元素.prevAll()”;3、用prevUntil(),語法“元素.prevUntil(stop)”。
本教程操作環(huán)境:windows7系統(tǒng)、jquery1.10.2版本、Dell G3電腦。
jquery獲取前幾個(gè)同級(jí)元素的3種方法
-
prev()方法,主要用于獲得指定元素的上一級(jí)同級(jí)元素
-
prevAll()方法,主要用于獲得指定元素上一級(jí)所有的同級(jí)元素
-
prevUntil()方法,主要用于獲得指定元素的上一個(gè)同級(jí)元素,這個(gè)同級(jí)元素必須為指定元素與prevUntil()方法所設(shè)置元素之間的元素
該方法返回兩個(gè)給定參數(shù)之間的每個(gè)元素之前的所有同級(jí)元素
1、使用prev()方法
prev() 方法返回被選元素的前一個(gè)同級(jí)元素。
注:該方法只返回一個(gè)元素。
語法:
$(selector).prev(filter)
參數(shù) | 描述 |
---|---|
filter | 可選。規(guī)定縮小搜索前一個(gè)同級(jí)元素范圍的選擇器表達(dá)式。 |
示例:返回帶有類名 "start" 的 <li> 元素的前一個(gè)同級(jí)元素
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <script src="js/jquery-1.10.2.min.js"></script> <style> .siblings *{ display: block; border: 2px solid lightgrey; color: lightgrey; padding: 5px; margin: 15px; } </style> <script> $(document).ready(function(){ $("li.start").prev().css({"color":"red","border":"2px solid red"}); }); </script> </head> <body> <div style="width:500px;" class="siblings"> <ul>ul (父節(jié)點(diǎn)) <li>li (兄弟節(jié)點(diǎn))</li> <li>li (類名為"start"的li節(jié)點(diǎn)的上一個(gè)兄弟節(jié)點(diǎn))</li> <li class="start">li (類名為"start"的li節(jié)點(diǎn))</li> <li>li (兄弟節(jié)點(diǎn))</li> <li>li (兄弟節(jié)點(diǎn))</li> </ul> </div> </body> </html>
2、使用prevAll()方法
prevAll() 方法返回被選元素之前的所有同級(jí)元素。
語法:
$(selector).prevAll(filter)
參數(shù) | 描述 |
---|---|
filter | 可選。規(guī)定縮小搜索元素之前的同級(jí)元素范圍的選擇器表達(dá)式。
注意:如需返回多個(gè)同級(jí)元素,請(qǐng)使用逗號(hào)分隔每個(gè)表達(dá)式。 |
示例:返回帶有類名 "start" 的 <li> 元素之前的所有同級(jí)元素:
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <script src="js/jquery-1.10.2.min.js"></script> <style> .siblings * { display: block; border: 2px solid lightgrey; color: lightgrey; padding: 5px; margin: 15px; } </style> <script> $(document).ready(function() { $("li.start").prevAll().css({ "color": "red", "border": "2px solid red" }); }); </script> </head> <body> <div style="width:500px;" class="siblings"> <ul>ul (parent) <li>li (類名為"start"的li的上一個(gè)兄弟節(jié)點(diǎn))</li> <li>li (類名為"start"的li的上一個(gè)兄弟節(jié)點(diǎn))</li> <li>li (類名為"start"的li的上一個(gè)兄弟節(jié)點(diǎn))</li> <li class="start">li (類名為"start"的li節(jié)點(diǎn))</li> <li>li (兄弟節(jié)點(diǎn))</li> <li>li (兄弟節(jié)點(diǎn))</li> </ul> </div> </body> </html>
3、使用prevUntil()方法
prevUntil() 方法返回 selector 與 stop 之間的每個(gè)元素之前的所有同級(jí)元素。
$(selector).prevUntil(stop,filter)
參數(shù) | 描述 |
---|---|
stop | 可選。表示在哪里停止搜索元素之前匹配的同級(jí)元素的選擇器表達(dá)式、元素、jQuery 對(duì)象。 |
filter | 可選。規(guī)定縮小搜索介于 selector 與 stop 之間的同級(jí)元素范圍的選擇器表達(dá)式。
注意:如需返回多個(gè)同級(jí)元素,請(qǐng)使用逗號(hào)分隔每個(gè)表達(dá)式。 |
示例:返回在類名為 "start" 和 "stop" 的兩個(gè) <li> 元素之間的所有同級(jí)元素
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <script src="js/jquery-1.10.2.min.js"></script> <style> .siblings * { display: block; border: 2px solid lightgrey; color: lightgrey; padding: 5px; margin: 15px; } </style> <script> $(document).ready(function() { $("li.start").prevUntil("li.stop").css({ "color": "red", "border": "2px solid red" }); }); </script> </head> <body> <div style="width:500px;" class="siblings"> <ul>ul (父節(jié)點(diǎn)) <li class="stop">li (類名為"stop"的兄弟節(jié)點(diǎn))</li> <li>li (類名為"start"的li節(jié)點(diǎn)的上一個(gè)兄弟節(jié)點(diǎn))</li> <li>li (類名為"start"的li節(jié)點(diǎn)的上一個(gè)兄弟節(jié)點(diǎn))</li> <li>li (類名為"start"的li節(jié)點(diǎn)的上一個(gè)兄弟節(jié)點(diǎn))</li> <li class="start">li (類名為"start"的li節(jié)點(diǎn))</li> <li>li (兄弟節(jié)點(diǎn))</li> <li>li (兄弟節(jié)點(diǎn))</li> </ul> </div> </body> </html>
【推薦學(xué)習(xí):jQuery視頻教程、web前端視頻】