À l'aide de :not
, et .not()
pour sélectionner et filtrer » Live Demo
L' :not(selector)
fait exactement cela, et il est livré dans un couple de styles. Vous pouvez utiliser le sélecteur, ou de la méthode. Ci-dessous est un exemple de l'aide du sélecteur:
$("#container :not(select)");
Cela correspond à tout enfant relevant #container
c'est pas un <select>
élément. Ensuite, nous avons la méthode de la mode de l'exclusion, qui va par le même nom, mais doit être exécuté de manière différente:
$("#container").children().not("select");
Cela va à l'encontre de l' children
des éléments qui correspondent. Dans ce cas, .not
agit comme un filtre. Ce qui m'amène à l'exemple suivant, à l'aide de .filter()
pour obtenir les résultats que vous voulez. Avec cette méthode, nous pouvons fournir notre propre fonction personnalisée pour fouiller les résultats et choisir celles que nous voulons:
À l'aide de .filter()
pour filtrer les éléments qui correspondent » Live Demo
$( "#container" ).children().filter( isNotSELECT ).fadeTo( "slow", .5 );
function isNotSELECT () {
// Returns TRUE if element is NOT select
return !$(this).is("select");
}
Dans cet exemple, nous sélectionnons tous les enfants de l' #container
, puis de les passer à travers un filtre que nous avons défini appelé "isNotSelect". Au sein de notre filtre, nous les retourner en true
ou false
pour chaque élément. Si nous revenons true
, cet élément devra être retourné à l'ensemble de résultats. Si nous revenons false
, cet élément sera supprimé à partir de l'ensemble de résultats. Nous nous demandons si l'élément n'est pas un select. Ce sera le retour de false
pour tous les sélectionner des éléments, donc de les retirer de notre collection.