11548 sujets

JavaScript, DOM et API Web HTML5

Bonjour à tous

je voudrais savoir comment faire en jquery une 'boucle' ...

Je m'explique :


$(document).ready(function () {  
   $("a.lien")
  .click(function() {
   $("p.paragraphe").slideToggle("slow");
   });
});


Avec le code ci-dessus, je peux masquer/afficher un paragraphe en cliquant sur un lien genre :


<a href="#" class="lien">Mon lien</a>
<p class="paragraphe">Mon paragraphe</p>


Mais si ce code est répeter à l'aide d'une boucle php pour par exemple afficher le contenu d'une DB, comment faire pour avoir le même effet puisque les 'class' sont dupliquées.

<a href="#" class="lien">Mon lien</a>
<p class="paragraphe">Mon paragraphe</p>

<a href="#" class="lien">Mon lien</a>
<p class="paragraphe">Mon paragraphe</p>

...


Maintenant, quand on clique sur le lien, ce sont tout les paragraphes qui s'affiche/masque et ce n'est pas l'effet recherché évidemment.

Comment faire pour que chaque lien soit lié à son paragraphe ? Smiley confuse
Salut,

Dans ton cas, je pense que le plus simple est d'écrire :
$(function() {
	$("a.lien").click(function() {
		$(this).next().slideToggle("slow");
	});
});

Mais il me paraîtrait plus logique de structurer ton code ainsi :
<p><a href="#" class="lien">Mon lien</a></p>
<p class="paragraphe">Mon paragraphe</p>

Auquel cas il faudrait écrire :
$(function() {
	$("a.lien").click(function() {
		$(this).parent().next().slideToggle("slow");
	});
});