Bien qu'il y ait beaucoup de bonnes ressources pour traverser le DOM avec jQuery, je n'ai pas de chance sur mon exemple.cliquez sur le lien de l'élément alternatif avec jquery
Sur mon site www.smithgrey.co.uk J'ai une série de galeries de vignettes qui ont un div de «section section» devant eux. Ce que je veux réaliser, c'est quand vous cliquez sur le div de 'section-title', le premier lien <a href>
de la vignette vers la droite sera cliqué.
Il existe plusieurs instances de class="section-title"
- Malheureusement, je ne peux pas ajouter d'ID ou de classes car cela est généré dynamiquement et on m'a demandé de le conserver tel quel si possible.
Le code HTML ressemble à ceci:
<body>
<div id="content-grid">
<div class="section-title">
<span class="section-title-type">Title of the first thumbnail gallery</span>
</div>
<div class="index-article">
<a href="#" class="fancybox">
<img src="thumbnail-1">
</a>
</div>
<div class="section-title">
<span class="section-title-type">Title of the second thumbnail gallery</span>
</div>
<div class="index-article">
<a href="#" class="fancybox">
<img src="thumbnail-2">
</a>
</div>
<div class="index-article">
<a href="#" class="fancybox">
<img src="thumbnail-3">
</a>
</div>
<div class="index-article">
<a href="#" class="fancybox">
<img src="thumbnail-4">
</a>
</div>
</div>
</body>
Et voici mon jQuery jusqu'à présent, mais il ne donne pas le résultat que j'imagine, car il cliquez sur le lien, peu importe si je clique sur le premier ou le deuxième <div class="section-title">
.
$('div.section-title').click(function(){
$(this).parent().next($('div.index-article')).children('a.fancybox').click();
});
Solution:
Avec l'aide des autres commentors j'ai réussi à comprendre comment le faire fonctionner comme je m'y attendais:
$(document).ready(function() {
$('div.section-title').click(function(){
$(this).next('.index-article').find('a.fancybox:first').click();
});
});
Hey je vous ai donné la suggestion d'un coup, mais pas de chance, mais je commençais à jouer avec .next() et je l'ai eu à travailler - alors merci vous pour l'aide. –