2010-07-14 8 views
0

Je commence juste à avoir une idée de cette chose jQuery, alors supportez-moi. Essentiellement, ce que je vais faire est une liste d'éléments avec des classes comme "politiciens" "entrepreuners" etc qui définissent les personnes dans cette liste.Filtrer les résultats par Titre Titre en utilisant jQuery

Le but étant, que je puisse attacher des onglets en haut de la liste qui filtrera les résultats de la liste.

Je comprends que je peux utiliser .filter() pour trouver les éléments de la liste avec la classe "politician" attachée. Mais comment puis-je masquer (ou attacher display: none ;, or ou) aux éléments de la liste qui n'ont pas de classe 'politician'? Comme je l'ai dit, je suis assez nouveau à ce sujet, donc si vous pouvez être précis, ce serait génial!

Merci encore!

-Judson

EDIT: Voici le code à partir de maintenant:

$("#politician_filter").click(
    function(){ 
     $('#people li :not(.politician)').hide(); 
    }) 
}) 

Répondre

1

Ceci masque tous les éléments li, puis affiche tous les li avec la classe .politician.

$("#politician_filter").click(function(){ 
    $("#people li").hide().filter(".politician").show(); 
    return false; //since you're using a link, disable default action 
}​);​ 
+0

Cela a fonctionné comme un charme! Merci! –

4

Essayez quelque chose comme ceci:

$("#politician_filter").click(function(event){ 
    event.preventDefault(); 
    $('ul#people li:not(.politician)').hide(); 
}) 

Edit: l'espace enlevé entre li et :not. Il s'agit d'un working fiddle.

+0

Bonjour ken, Merci. A partir de maintenant ça ne marche pas, je vais poster le code complet en bas de l'article. Probablement en train de flirter quelque chose. –

+0

Qu'est-ce que #politician_filter? Un lien? –

Questions connexes