Objectifs
- Connaitre les filtres de contenu en jQuery
- Etre capable d'utiliser adéquatement les filtres de contenu en jQuery
Introduction
- Tous les éléments du DOM étant répertoriés par jQuery, il devient facile de filtrer des éléments déterminés comme le
premier, le dernier, etc.
Un texte donné
:contains(texte): Sélectionne les éléments qui contiennent un texte ou un fragment de texte fourni en argument.- Il faut noter que l’argument texte est sensible à la casse (case sensitive).
$("div:contains('apc')"): sélectionne les divisions qui contiennent le texte "apc".- Exemple:
- Sélectionnez le deuxième élément dans liste suivante.
<!doctype html> <html lang="fr"> <head> <meta charset="utf-8"> <title>Filtre de base First</title> <script src="https://code.jquery.com/jquery-1.10.2.js"></script> <script> $(document).ready(function(){ $("li:contains('jQuery')").css("background-color", "yellow"); }); </script> </head> <body> <ol> <li>Le <span>jQuery</span> est une bibliothèque JavaScript libre et multi-plateforme créée pour faciliter l’écriture de scripts côté client dans le code HTML.</li> <li><span>jQuery</span> est une bibliothèque de fonctions en JavaScript. C’est une librairie légère : « écrire moins, faire plus »</li> <li>C’est une bibliothèque javascript open-source et multibrowser.</li> <li>Elle permet de parcourir et de manipuler très facilement le DOM des pages Web avec la syntaxe fortement similaire à celle d’XPath.</li> <li>JQuery permet par exemple de changer / ajouter une classe CSS, créer des animations, modifier des attributs, etc.</li> </ol> </body> </html>
Un contenu vide
:empty: Sélectionne tous les éléments qui n’ont pas d’enfants (inclus les nœuds de texte).$("div:empty"):: sélectionne les divisions vides.- Exemple:
- Dans une page HTML créer un tableau de 3 colonnes et 4 lignes remplie avec des nombres de 1 à 12
- Mettre un arrière plan de couleur aux cellules vides.
<!doctype html> <html lang="fr"> <head> <meta charset="utf-8"> <title>Filtre de base First</title> <script src="https://code.jquery.com/jquery-1.10.2.js"></script> <script type="text/javascript"> $(document).ready(function(){ $("td:empty").css("background", "#9cf"); }); </script> <style type="text/css"> table { width: 210px; border-collapse: collapse; border: 1px solid black;} td { text-align: center; border: 1px solid black;} </style> </head> <body> <table> <tr><td>1</td><td></td><td>3</td></tr> <tr><td>4</td><td>5</td><td>6</td></tr> <tr><td></td><td>8</td><td></td></tr> <tr><td>10</td><td>11</td><td></td></tr> </table> </body> </html>
La qualité de parent
:parent: Sélectionne les éléments qui sont parent, c’est à dire qui ont des éléments enfants, inclus les nœuds de texte.$("div:parent"): sélectionne les divisions qui ont des éléments enfants.- Ce sélecteur est en quelque sorte l’inverse du précédent.
- Exemple:
- Dans une page HTML créer un tableau de 3 colonnes et 4 lignes remplie avec des nombres de 1 à 12
- Mettre un arrière plan de couleur aux cellules non vides.
<!doctype html> <html lang="fr"> <head> <meta charset="utf-8"> <title>Filtre de base First</title> <script src="https://code.jquery.com/jquery-1.10.2.js"></script> <script type="text/javascript"> $(document).ready(function(){ $("td:parent").css("background", "#9cf"); }); </script> <style type="text/css"> table { width: 210px; border-collapse: collapse; border: 1px solid black;} td { text-align: center; border: 1px solid black;} </style> </head> <body> <table> <tr><td>1</td><td></td><td>3</td></tr> <tr><td>4</td><td>5</td><td>6</td></tr> <tr><td></td><td>8</td><td></td></tr> <tr><td>10</td><td>11</td><td></td></tr> </table> </body> </html>