JSB

$/find

Sélectionne des éléments à l'intérieur d'une autre sélection.

find permet de sélectionner des balises en partant de la sélection actuelle. find et $ sont des alias (si utilisés après une sélection).

$('#bloc').find('p'); // Sélectionne tous les <p> à l'intérieur de l'élément bloc
$('div').find('p'); // Sélectionne tous les <p> à l'intérieur de chaque <div>
$('div').$('p'); // $ est un raccourci de find
$('div p'); // Sélectionne tous les <p> à l'intérieur de chaque <div>
// Les 3 lignes ci-dessus ont le même effet

Supposons la structure suivante :

<div>
  <p>#1</p>
  <p>#2</p>
</div>
<div>
  <blockquote>
    <p>#3</p>
  </blockquote>
</div>
<blockquote>
  <div>
    <p>#4</p>
  </div>
</blockquote>
<blockquote>
  <p>#5</p>
</blockquote>

Les précédents exemples sélectionneraient alors #1, #2, #3 et #4 qui sont tous directement ou indirectement à l'intérieur d'une balise <div> mais pas #5 qui n'a pas de <div> dans ces ancêtres.

La sélection en une seule chaîne est plus rapide, en revanche, utiliser find ou $ après sélection permet le chaînage :

$('div').css('color:red').$('p').css('color:blue');

Le code ci-dessus va appliquer la couleur rouge à tous les <div> et la couleur bleu aux <p> contenus dans ces <div>.

Voir aussi : _/children

© Bastien Miclo | www.selfbuild.fr