Et via la fonction on() plus simple à mon avis dans ton cas :
[javascript]// On attend que la page soit chargée
jQuery(document).ready(function()
{
// On cache la zone de texte
jQuery('.toggle').hide();
});
// toggle() lorsque le lien avec la classe #toggler est cliqué
$(document).on({
click : function () {
$(this).parent().nextAll('.toggle').first().toggle('slow');
return false;
}
},'a.toggler');[/javascript]
la commande on() ici est activée quand tu cliques sur un lien qui possède la classe "toggler".
Dès que cette fonction est lancée elle cherche le parent direct puis prends tous les frères suivants de ce parent qui possède la classe "toggle" puis sélectionne le premier pour faire le toggle("slow").
Est ce bien ce que tu recherches ?
Si je regarde ton html fournit :
<a href="#" class="toggler" rel="nofollow">Cliquez sur ce premier lien</a>.
<div class="toggle" style="display:none;">Ce texte apparaît grâce à un script javascript écrit pour JQuery et utilise la fonction <code>toggle()</code>.</div>
</br>
<a href="#" class="toggler" rel="nofollow">Maintenant, cliquez sur ce deuxième lien</a>.
<div class="toggle" style="display:none;">Ce texte appartient au 2ème lien.</div>
les balises a.toggler ne sont pas enfants des balises div.toggle donc parent() ne peut pas fonctionner
Aussi, je pense que cela pourra être corrigé par :
[javascript]$(document).on({
click : function () {
$(this).parent().children('.toggle').first().toggle('slow');
return false;
}
},'a.toggler');[/javascript]
Mais ce n'est pas assez spécifique alors peut être que dans ce cas :
[javascript]$(document).on({
click : function () {
$(this).next('.toggle').toggle('slow');
return false;
}
},'a.toggler');[/javascript]