2012-09-29 40 views
0

虽然有很多好的资源用jQuery遍历DOM,但我没有任何运气对我的例子。点击jquery替代元素的链接

在我的网站www.smithgrey.co.uk我有一系列的缩略图画廊,在他们面前都有一个“栏目标题”div。

我想实现的是当您点击'section-title'div时,点击右边缩略图的第一个<a href>链接。

class="section-title"有多个实例 - 不幸的是,我无法添加任何ID或类,因为它是动态生成的,并且被要求尽可能保持原样。

的HTML看起来像这样:

<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> 

这里是我的jQuery,到目前为止,但它并不能产生结果,我会想象,因为它会点击链接不管我点击第一或第二<div class="section-title">

$('div.section-title').click(function(){ 
     $(this).parent().next($('div.index-article')).children('a.fancybox').click(); 
    }); 

解决方案:

随着我所管理的其他评论者的帮助下找出如何使它工作如我所料:

$(document).ready(function() { 
    $('div.section-title').click(function(){ 
    $(this).next('.index-article').find('a.fancybox:first').click(); 
    }); 
}); 

回答

0

我会假设你已经安装的正确的jQuery正确的事件/等。我就是这么做的。请注意我已经在超链接中添加了一个单击事件来模拟jsfiddle示例中的单击。

http://jsfiddle.net/lucuma/s9mds/

$('div.section-title').click(function(e) { 
    $(this).next('div').find('a:eq(0)').click(); 
});​ 
+0

嘿,我给你的建议一去,但没有运气,但我开始用的.next(拨弄),我得到它的工作 - 所以谢谢你的帮助。 –

0

使用此

$(document).ready(function() { 
    $('div.section-title').click(function(){ 
    $(this).closest($('div.index-article').find('a.fancybox').click(); 
    }); 
}); 
+0

嘿感谢您的输入,但它没有给我任何结果,并在看着关于jQuery的文档的closet()后,我可以看到它只在DOM中传播,并且我假设我需要关闭 - 不确定是否会使任何差异。 –

+0

@SofusGraae但是在你的代码中你正在向上 – StaticVariable

+0

嘿@jhonarymos对不起,如果我让它看起来/声音的方式。这个想法是,当你用class =“section-title”点击div的第一个实例时,它会打开包含的链接。如果你另一方面按类class =“section-title-type”的第二个实例,那么你将打开链接,这是包装 - 这是否有任何意义(请记住,这不是我的日常工作,所以解释我勉强可以包裹我的头周围是棘手的,但你的帮助是非常感谢:) –