Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/77.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
单击使用jquery从备选元素链接_Jquery_Dom_Click_Jquery Traversing - Fatal编程技术网

单击使用jquery从备选元素链接

单击使用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

虽然有很多关于使用jQuery遍历DOM的好资源,但我的示例没有任何运气

在我的网站www.smithgrey.co.uk上,我有一系列缩略图库,所有图库前面都有一个“章节标题”div

我想要实现的是,当您单击“section title”div时,将单击右侧缩略图的第一个
链接

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();
   });
});