Parcourir jQuery - méthode not()
Exemple
Retirer du ensemble de tous les paragraphes le paragraphe avec l'ID "selected":
$("p").not("#selected")
Définition et utilisation
Supprimer un élément de la collection de correspondances avec not().
Syntaxe 1
.not(selector)
Paramètres | Description |
---|---|
selector | Valeur de chaîne, contenant l'expression de sélecteur utilisée pour correspondre aux éléments. |
Syntaxe 2
.not(element)
Paramètres | Description |
---|---|
element | Un ou plusieurs éléments DOM à supprimer du jeu de correspondance. |
Syntaxe 3
.not(function(index))
Paramètres | Description |
---|---|
function(index) | Fonction utilisée pour détecter chaque élément du jeu. this est l'élément DOM courant. |
Explication détaillée
Si une collection d'éléments DOM est représentée par un objet jQuery, la méthode .not() construit un nouveau jQuery object à partir d'un sous-ensemble des éléments correspondants. Le sélecteur appliqué détecte chaque élément ; les éléments qui ne correspondent pas au sélecteur sont inclus dans le résultat.
Pensez à la page suivante avec une simple liste :
<ul> <li>élément de liste 1</li> <li>élément de liste 2</li> <li>élément de liste 3</li> <li>élément de liste 4</li> <li>élément de liste 5</li> </ul>
Nous pouvons appliquer cette méthode au jeu d'éléments de liste :
$('li').not(':even').css('background-color', 'red');
Le résultat de cette appel est de définir le fond de couleur rouge pour les éléments 2 et 4, car ils ne correspondent pas au sélecteur (rappelez-vous, :even et :odd utilisent un index basé sur 0).
Suppression d'éléments spécifiques
La deuxième version de la méthode .not() permet de supprimer des éléments du jeu de correspondance, supposons que nous ayons déjà trouvé ces éléments par d'autres moyens. Par exemple, imaginez une liste qui a appliqué un id à l'un des éléments :
<ul> <li>élément de liste 1</li> <li>élément de liste 2</li> <li id="notli">élément de liste 3</li> <li>élément de liste 4</li> <li>élément de liste 5</li> </ul>
Nous pouvons utiliser la fonction JavaScript native getElementById() pour lire le troisième élément de la liste, puis le supprimer de l'objet jQuery :
$('li').not(document.getElementById('notli')).css('background-color', 'red');
Cette instruction change la couleur de fond des éléments 1, 2, 3 et 5. Nous pouvons utiliser une expression jQuery plus simple pour faire la même chose, mais cette technique peut être très utile lorsque d'autres bibliothèques fournissent des références aux nœuds DOM purs.
Pour jQuery 1.4, la méthode .not() peut utiliser une fonction en tant que paramètre, comme la méthode .filter(). Les éléments pour lesquels la fonction retourne true sont exclus du jeu de filtrage ; tous les autres éléments sont inclus.