jQuery Traversal - Ancêtres
Traverser le DOM vers le haut
parent()
parents()
parentsUntil()
parent( ) méthode
la méthode parent() renvoie l'élément parent direct de l'élément sélectionné.
Cette méthode ne parcourra l'arborescence DOM qu'un niveau plus haut. Méthode
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <style> .ancestors * { 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(){ $("span").parent().css({"color":"blue","border":"2px solid red"}); }); </script> </head> <body> <div class="ancestors"> <div style="width:300px;">div (曾祖父元素) <ul>ul (祖父元素) <li>li (父元素) <span>span</span> </li> </ul> </div> <div style="width:300px;">div (祖父元素) <p>p (父元素) <span>span</span> </p> </div> </div> </body> </html>
parents() La méthode
parents() renvoie tous les éléments ancêtres de l'élément sélectionné, jusqu'à l'élément racine de l'élément document (< html>).
<!DOCTYPE html> <html> <head> <style> .ancestors * { 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(){ $("span").parents("ul").css({"color":"red","border":"2px solid red"}); }); </script> </head> <body class="ancestors">body (great-great-grandparent) <div style="width:300px;">div (great-grandparent) <ul>ul (grandparent) <li>li (direct parent) <span>span</span> </li> </ul> </div> </body> </html>
Renvoie tous les ancêtres de tous les éléments <span>
Méthode parentsUntil()
La méthode parentsUntil() renvoie tous les éléments ancêtres entre deux éléments donnés.
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <style> .ancestors * { 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(){ $("span").parentsUntil("div").css({"color":"blue","border":"3px solid green"}); }); </script> </head> <body class="ancestors"> body (曾曾祖父元素) <div style="width:300px;">div (曾祖父元素) <ul>ul (祖父元素) <li>li (父元素) <span>span</span> </li> </ul> </div> </body> </html>
Renvoie tous les éléments ancêtres entre les éléments <span>