0

我有一个类似这样的html代码:

<div class="col-md-7">   
  <div class="row launch">
       <img class="img-responsive" alt=""><br/>
  </div>
  <ul class="row gallery">
    <a href="" class="light-link col-xs-6 col-sm-4 col-md-3 ">
                        <img src=""/>
    </a>
  </ul>
 </div>
 <div class="col-md-7"> 
  <div class="row launch">
        <img class="img-responsive" alt=""><br/>
  </div>
  <ul class="row gallery">
    <a href="" class="light-link col-xs-6 col-sm-4 col-md-3 ">
            <img src=""/>
   </a>
  </ul>
</div>

我想要做的(使用 JQuery)是当用户单击第一个div“行启动”以使用下一个兄弟姐妹 ul“行库”中的链接“light-link”执行某些操作时。我想要与第二个 div“行启动”相同的东西,以及波纹管兄弟内部的链接等等......我做错了什么?我的代码如下所示:

$('.launch').click(function(){
    $('.launch').next().children("a:first").trigger('click');
 });

但它不起作用,它总是将事件附加到列表中的第一个 ul 一个“light-link”,即使我点击列表中的第二个 div“行启动”,或者第三个......注意:需要对于 lightgallery 示例(使用类的多个画廊),我想在用户单击默认大图像时触发缩略图上的 clic,并激活相关画廊。

4

3 回答 3

0

您可以使用siblingschildren。请注意,要触发原生点击,您应该使用get然后使用click函数来触发它。

$('.launch').click(function(){
    $(this).siblings('ul').children(".light-link").get(0).click();
 });
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css"/>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="col-md-7">   
  <div class="row launch">
       <img class="img-responsive" alt="pic1"><br/>
  </div>
  <ul class="row gallery">
    <a href="" class="light-link col-xs-6 col-sm-4 col-md-3 ">
                        <img src="google.com" alt="pic link1"/>
    </a>
  </ul>
 </div>
 <div class="col-md-7"> 
  <div class="row launch">
        <img class="img-responsive" alt="pic2"><br/>
  </div>
  <ul class="row gallery">
    <a href="" class="light-link col-xs-6 col-sm-4 col-md-3 ">
            <img src="" alt="pic link2"/>
   </a>
  </ul>
</div>

于 2017-05-19T20:19:01.760 回答
0

谢谢你。这两个答案都有效,所以我的问题与 lightgallery http://sachinchoolur.github.io/lightGallery/demos/有关

我有所有这些缩略图,当点击其中一些时,你会激活 lightgallery。但是,我还需要,当用户点击更大的默认图像(而不是缩略图)时,它将通过触发第一个拇指 lightgallery 上的点击来激活相关画廊,大图片激活画廊

于 2017-05-20T07:37:09.123 回答
0

尝试.find()结合选择器的功能this

$('.launch').click(function(){
  $(this).next().find("a:first-of-type").trigger('click');
});
于 2017-05-19T20:05:07.483 回答