单击使用jquery从备选元素链接
虽然有很多关于使用jQuery遍历DOM的好资源,但我的示例没有任何运气 在我的网站www.smithgrey.co.uk上,我有一系列缩略图库,所有图库前面都有一个“章节标题”div 我想要实现的是,当您单击“section title”div时,将单击右侧缩略图的第一个单击使用jquery从备选元素链接,jquery,dom,click,jquery-traversing,Jquery,Dom,Click,Jquery Traversing,虽然有很多关于使用jQuery遍历DOM的好资源,但我的示例没有任何运气 在我的网站www.smithgrey.co.uk上,我有一系列缩略图库,所有图库前面都有一个“章节标题”div 我想要实现的是,当您单击“section title”div时,将单击右侧缩略图的第一个链接 class=“section title”有多个实例–不幸的是,我无法添加任何ID或类,因为这些ID或类是动态生成的,并且被要求尽可能保持原样 HTML如下所示: <body> <div id="c
链接
class=“section title”
有多个实例–不幸的是,我无法添加任何ID或类,因为这些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>
解决方案:
在其他评论员的帮助下,我设法找出了如何使它如我所期望的那样工作:
$(document).ready(function() {
$('div.section-title').click( function(){
$(this).next('.index-article').find('a.fancybox:first').click();
});
});
我将假设您已使用适当的就绪事件/等正确设置jQuery。我将这样做。请注意,我在超链接中添加了一个单击事件,以模拟JSFIDLE示例中的单击 用这个
$(document).ready(function() {
$('div.section-title').click( function(){
$(this).closest($('div.index-article').find('a.fancybox').click();
});
});
嘿,谢谢你的输入,但它没有给我任何结果,在查看jQuery文档上的clock()之后,我可以看到它只在DOM中向上移动,我想我需要向下移动——不确定这是否有任何区别。嘿@jhonarymos,如果我这样做了,我很抱歉。其思想是,当您使用class=“section title”单击div的第一个实例时,它将打开包含的链接。另一方面,如果您按下class=“section title type”的第二个实例,则您将打开环绕的链接–这有什么意义吗(请注意,这不是我的日常工作,所以解释我几乎无法环绕的内容很棘手,但非常感谢您的帮助:)好的,那么如果我单击“section title”,您想说什么然后显示缩略图-1,或者如果单击“章节标题类型”,则显示缩略图-2?我说得对吗?嘿@jhonraymos我刚刚解决了这个问题,请看更新后的帖子,它应该能最好地解释它:)但是谢谢你的投入。@SofusGraae Gud,但我不知道
最近的()
只向上移动。如果向下移动,我的答案就是你问题的解决方案。嘿,我给了你一个建议,但运气不好,但我开始摆弄.next(),我让它起作用了——谢谢你的帮助。
$('div.section-title').click(function(e) {
$(this).next('div').find('a:eq(0)').click();
});
$(document).ready(function() {
$('div.section-title').click( function(){
$(this).closest($('div.index-article').find('a.fancybox').click();
});
});