39 votes

Jquery : Masquer tous les enfants, puis afficher un élément spécifique

Je veux cacher tous les éléments enfants dans un div. Et puis montrez une fonction spécifique transmise à la fonction.

function subDisplay(name) {
   $("#navSub").each(function() {
      $(this).hide();
   });
   $(name).show();
}

puis j'appelle la fonction depuis un événement onmouse comme : subDisplay(#DivIwantToShow); Mais rien n'affiche...

Qu'est-ce que je fais de mal ?

86voto

Brandon Kindred Points 1428

Tu dois cacher les enfants et pas le div qui les contient.

$("#navSub").children().hide();

Donc maintenant, si le div que vous essayez d'afficher est un élément dans le div parent, il s'affichera toujours tandis que les autres restent cachés.

1voto

kaz Points 1174
function subDisplay(name) {
   $("#navSub").hide();
   $('#'+name).show();
}

1voto

Stefan Points 5468

Pour résumer les excellents commentaires de @dotweb et @Matt ;

function subDisplay(name) {
   $('#navSub').hide();
   $(name).show();
}

subDisplay('#DivIwantToShow');

1voto

Teun Pronk Points 822

si le nom de l'élément est passé en nom, utilisez ceci :

    if($(this).attr('name') != name){
    //Hide it
    } else {
   //show it
}

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X