60 of 119 menu

Méthode filter

La méthode filter ne conserve dans la sélection que les éléments qui correspondent à un sélecteur spécifique.

Syntaxe

Filtrage par sélecteur :

.filter(sélecteur);

Le paramètre peut également être des éléments DOM ou un objet jQuery :

.filter(Élément DOM ou objet jQuery);

Il est également possible de filtrer les éléments à l'aide d'une fonction, qui est appelée séparément pour chacun des éléments sélectionnés. Si elle retourne true, alors l'élément courant sera inclus dans le résultat final, si false - il ne sera pas inclus. Les éléments eux-mêmes sont accessibles dans la fonction, dans la variable this, et leurs numéros d'ordre dans la sélection — dans la variable index :

.filter(function(index, elem))

Exemple

Trouvons tous les paragraphes, ajoutons le texte '!' au début de chacun en utilisant prepend, puis récupérons parmi ceux trouvés uniquement les paragraphes avec la classe www en utilisant filter et ajoutons le texte '?' à la fin de chacun en utilisant append :

<p>text</p> <p>text</p> <p class="www">text</p> <p class="www">text</p> $('p').prepend('!').filter('.www').append('?');

Le code HTML deviendra alors :

<p>!text</p> <p>!text</p> <p class="www">!text?</p> <p class="www">!text?</p>

Exemple

Utilisons une fonction pour trouver tous les paragraphes qui contiennent une balise strong et remplaçons leur contenu par le texte '!!!' :

<p><strong>text</strong></p> <p><strong>text</strong></p> <p>text</p> <p>text</p> $('p').filter(function() { return $('strong', this).length === 1; }).html('!!!');

Le code HTML deviendra alors :

<p>!!!</p> <p>!!!</p> <p>text</p> <p>text</p>

Voir aussi

  • la méthode find,
    qui trouve les éléments par sélecteur parmi ceux déjà trouvés
  • la méthode has,
    qui filtre la sélection d'éléments par leurs descendants
azbydeenesfrkakkptruuz