descendants de jQuery

jQuery Traversal - Descendants

Les descendants sont les enfants, petits-enfants, arrière-petits-enfants, etc.

Avec jQuery, vous pouvez parcourir l'arborescence DOM pour trouver les descendants d'un élément.


Parcourir l'arborescence DOM

Voici deux méthodes jQuery pour parcourir l'arborescence DOM :

  • enfants()

  • find()


jQuery enfants () méthode

méthode children() renvoie tous les éléments enfants directs de l'élément sélectionné.

Cette méthode ne parcourra l'arborescence DOM qu'un niveau plus bas.

L'exemple suivant renvoie tous les enfants directs de chaque élément <div> :

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <style>
        .descendants *
        {
            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(){
            $("div").children().css({"color":"red","border":"2px solid red"});
        });
    </script>
</head>
<body>
<div class="descendants" style="width:300px;">div (当前元素)
    <p>p (儿子元素)
        <span>span (孙子元素)</span>
    </p>
    <p>p (儿子元素)
        <span>span (孙子元素)</span>
    </p>
</div>
</body>
</html>

Exécutez le programme pour l'essayer


Vous pouvez également utiliser des paramètres facultatifs pour filtrer la recherche des éléments enfants.

L'exemple suivant renvoie tous les éléments <p> avec le nom de classe "1" qui sont des enfants directs de <div> :

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<style>
.descendants *
{ 
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(){
  $("div").children("p.1").css({"color":"red","border":"2px solid red"});
});
</script>
</head>
<body>
<div class="descendants" style="width:300px;">div (当前元素) 
  <p class="1">p (儿子元素)
    <span>span (孙子元素)</span>     
  </p>
  <p class="2">p (儿子元素)
    <span>span (孙子元素)</span>
  </p> 
</div>
</body>
</html>

Exécutez le programme pour l'essayer


Méthode jQuery find()

La méthode find() renvoie les éléments descendants de l'élément sélectionné, jusqu'au dernier descendant .

L'exemple suivant renvoie tous les éléments <span> qui sont des descendants de <div> :

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<style>
.descendants *
{ 
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(){
  $("div").find("span").css({"color":"red","border":"2px solid red"});
});
</script>
</head>
<body>
<div class="descendants" style="width:300px;">div (当前元素) 
  <p>p (儿子元素)
    <span>span (孙子元素)</span>     
  </p>
  <p>p (儿子元素)
    <span>span (孙子元素)</span>
  </p> 
</div>
</body>
</html>

Exécutez le programme pour l'essayer


Ce qui suit L'exemple renvoie < Tous les descendants de div> :

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<style>
.descendants *
{ 
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(){
  $("div").find("*").css({"color":"red","border":"2px solid red"});
});
</script>
</head>
<body>
<div class="descendants" style="width:300px;">div (当前元素) 
  <p>p (儿子元素)
    <span>span (孙子元素)</span>     
  </p>
  <p>p (儿子元素)
    <span>span (孙子元素)</span>
  </p> 
</div>
</body>
</html>

Exécutez le programme pour l'essayer



Formation continue
||
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <style> .descendants * { 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(){ $("div").children().css({"color":"red","border":"2px solid red"}); }); </script> </head> <body> <div class="descendants" style="width:300px;">div (当前元素) <p>p (儿子元素) <span>span (孙子元素)</span> </p> <p>p (儿子元素) <span>span (孙子元素)</span> </p> </div> </body> </html>
soumettreRéinitialiser le code
  • Recommandations de cours
  • Téléchargement du didacticiel