2009-05-24 7 views
2

Le code ci-dessous ne fonctionne que pour la première div. Je ne peux pas afficher d'autres divs quand j'ai cliqué sur les autres "img". Connaissez-vous une méthode pour atteindre le second élément (suivant)?Comment sélectionner un deuxième élément avec JQUERY lorsqu'on clique sur l'image?

$(document).ready(function() { 

     $('.imgOpenClose').click(function() { 
      if ($(this).attr("src") == "images/openTree.gif") { 
       $(this).attr("src", "images/closeTree.gif"); 
       $(this).parent().find('div').eq(0).show(); 
      } 
      else { 
       $(this).attr("src", "images/openTree.gif"); 
       $(this).parent().find('div').eq(0).hide(); 
      } 
     }); 
}); 

Wanna open table when i clicked on plus images

And wanna see the table inside this div

+0

Pouvez-vous nous donner un exemple HTML pour la page que vous voulez votre javascript pour fonctionner? Sinon, votre question manque de détails, et nous ne pouvons pas vraiment vous aider. – rampion

Répondre

2

Puisque vous avez un élément de rupture suivant l'image, vous aurez besoin d'utiliser nextAll et sélectionnez la première DIV au lieu d'utiliser simplement next avec un filtre comme dans mon réponse originale.

$('.imgOpenClose').click(function() { 
    $(this).nextAll('div:first').toggle(); 
}); 
+0

Cela ne devrait-il pas être $ (this) .next ('div') à la place? – markusk

+0

@markusk - bonne prise, je pensais que les DIV étaient tous au même niveau. – tvanfosson

+0

alert ($ (this) .next ('div'). Html()); => renvoie null – uzay95

1

Si vous avez plusieurs images avec la même étiquette de classe, vous pouvez toujours le faire sans avoir à ajouter un identifiant unique:

$(function() { 
    $('.imgOpenClose').click(function() { 
     $(this).next('div').children('table').toggle(); 
    }); 
}); 
+0

Comme vous voyez div avant que la table a la propriété d'affichage comme aucun. C'est pourquoi, je devrais basculer vers la balise div. Mais alert ($ (this) .next ('div') .html()); renvoie la valeur null. Pourquoi jquery n'a pas pu trouver la prochaine div? – uzay95

+0

prochain est le prochain frère seulement. Si ce n'est pas un div alors ce sera null. le filtre pour le prochain est donc vous pouvez dire me donner le prochain frère mais seulement si c'est un div. – redsquare

Questions connexes