jQuery lintasan mendatar
Lintasan mendatar dalam pokok DOM
Terdapat banyak kaedah berguna yang membolehkan kita melintasi pokok DOM secara mendatar:
adik-beradik()
next()
nextAll()
nextUntil()
prev()
prevAll()
prevUntil()
kaedah adik beradik()
kaedah adik beradik() mengembalikan semua elemen adik beradik bagi elemen yang dipilih.
Parameter pilihan boleh digunakan untuk menapis carian unsur adik beradik.
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <style> .siblings * { display: block; border: 2px solid lightgrey; color: lightgrey; padding: 5px; margin: 15px; } </style> <script src="http://libs.baidu.com/jquery/1.10.2/jquery.min.js"> </script> <script> $(document).ready(function(){ $("h2").siblings("p").css({"color":"red","border":"2px solid blue","width":"200px"}); }); </script> </head> <body class="siblings"> <div>div (父元素) <p>p</p> <span>span</span> <h2>h2</h2> <h3>h3</h3> <p>p</p> </div> </body> </html>
Mengembalikan semua elemen <p>
kaedah next()
kaedah next() mengembalikan elemen adik beradik seterusnya bagi elemen yang dipilih.
Kaedah ini hanya mengembalikan satu elemen.
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <style> .siblings * { display: block; border: 2px solid lightgrey; color: lightgrey; padding: 5px; margin: 15px; } </style> <script src="http://libs.baidu.com/jquery/1.10.2/jquery.min.js"> </script> <script> $(document).ready(function(){ $("h2").next().css({"color":"red","border":"5px solid blue","width":"200px"}); }); </script> </head> <body class="siblings"> <div> <p>p</p> <span>span</span> <h2>h2</h2> <h3>h3</h3> <p>p</p> </div> </body> </html>
Mengembalikan elemen adik beradik seterusnya bagi <h2>.
kaedah nextAll()
nextAll() kaedah mengembalikan semua elemen adik beradik berikut bagi elemen yang dipilih.
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <style> .siblings * { display: block; border: 2px solid lightgrey; color: lightgrey; padding: 5px; margin: 15px; } </style> <script src="http://libs.baidu.com/jquery/1.10.2/jquery.min.js"> </script> <script> $(document).ready(function(){ $("h2").nextAll().css({"color":"red","border":"3px solid blue","width":"200px"}); }); </script> </head> <body class="siblings"> <div> <p>p</p> <span>span</span> <h2>h2</h2> <h3>h3</h3> <p>p</p> </div> </body> </html>
Mengembalikan semua elemen adik beradik berikut bagi <h2>.
KaedahnextUntil() kaedah
nextUntil() mengembalikan semua elemen adik beradik berikut antara dua hujah yang diberikan. Semua adik beradik antara elemen
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <style> .siblings * { display: block; border: 2px solid lightgrey; color: lightgrey; padding: 5px; margin: 15px; } </style> <script src="http://libs.baidu.com/jquery/1.10.2/jquery.min.js"> </script> <script> $(document).ready(function(){ $("h2").nextUntil("h6").css({"color":"red","border":"4px solid blue","width":"200px"}); }); </script> </head> <body class="siblings"> <div> <p>p</p> <span>span</span> <h2>h2</h2> <h3>h3</h3> <h4>h4</h4> <h5>h5</h5> <h6>h6</h6> <p>p</p> </div> </body> </html>
<h2> Kaedah
kaedah jQuery prev(), prevAll() & prevUntil()
prev(), prevAll() dan prevUntil() berfungsi dengan cara yang sama Kaedah di atas adalah serupa, tetapi dalam arah yang bertentangan: mereka mengembalikan elemen adik-beradik sebelumnya (melintasi ke belakang di sepanjang elemen adik-beradik dalam pokok DOM, bukannya ke hadapan).