ancêtres jQuery
jQuery Traversal - Ancêtres
L'ancêtre est le père, le grand-père, l'arrière-grand-père, etc.
Avec jQuery, vous pouvez parcourir l'arborescence DOM pour trouver les ancêtres d'un élément.
Parcourir l'arborescence DOM
Ces méthodes jQuery sont utiles pour parcourir l'arborescence DOM :
parent()
parents()
parentsUntil()
Méthode jQuery parent()
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.
L'exemple suivant renvoie l'élément parent direct de chaque élément <span> :
<!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":"red","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>
Exécutez le programme pour l'essayer
Méthode jQuery parents()
La méthode parents() renvoie tous les éléments ancêtres de l'élément sélectionné, jusqu'à l'élément racine du document (<html>).
L'exemple suivant renvoie tous les ancêtres de tous les éléments <span> :
<!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").parents().css({"color":"red","border":"2px solid red"}); }); </script> </head> <body class="ancestors">body (曾曾祖父元素) <div style="width:300px;">div (曾祖父元素) <ul>ul (祖父元素) <li>li (父元素) <span>span</span> </li> </ul> </div> </body> </html>
Exécutez le programme pour l'essayer
Vous pouvez également utiliser des paramètres facultatifs pour paires de filtres Recherche d'éléments ancêtres.
L'exemple suivant renvoie tous les ancêtres de tous les éléments <span> qui sont des éléments <ul> :
<!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:500px;">div (great-grandparent) <ul>ul (grandparent) <li>li (direct parent) <span>span</span> </li> </ul> </div> </body> </html>
Exécutez le programme pour l'essayer
Méthode jQuery parentsUntil()
La méthode parentsUntil() renvoie tous les éléments ancêtres entre deux éléments donnés.
L'exemple suivant renvoie tous les éléments ancêtres entre les éléments <span> et <div> :
<!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":"red","border":"2px solid red"}); }); </script> </head> <body class="ancestors"> body (曾曾祖父元素) <div style="width:500px;">div (曾祖父元素) <ul>ul (祖父元素) <li>li (父元素) <span>span</span> </li> </ul> </div> </body> </html>
Exécutez le programme pour l'essayer