$(function(){ $('.parent-class h3').click(function(){ $(this).siblings('p').find('a').trigger( "click" ); //var h = $(this).siblings('p').find('a').attr( "href" ); //alert(h); }); }); <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script> <div class="parent-class"> <p class="child-class"> <a href="hello.jpg" data-rel="lightbox-1">Lightbox Image</a> </p> <h3>Title Here</h3> </div> He usado lightbox en mi sitio web. Quiero mostrar la caja de luz mientras hago clic en la etiqueta h3 . He alertado a href (línea comentada) esto está funcionando bien. Pero no funciona el gatillo. Por favor, vea arriba mi código. y dime por qué trigger('click') no funciona en mi código.
Gracias
Editar - Olvidé la caja de luz. enlace de anclaje simple no funciona.
Cambie su código javascript a esto:
$(function(){ $('.parent-class h3').click(function(){ $(this).siblings('p').find('a')[0].click(); }); });jQuery trigger no funcionará porque ningún evento de clic está vinculado al elemento, esta es una función de clic de javascript, que simula el clic real como uno con el mouse.
Puede utilizar la función de clic directo.
$(function(){ $('.parent-class h3').click(function(){ $(this).siblings('p').find('a').click() //var h = $(this).siblings('p').find('a').attr( "href" ); //alert(h); }); }); <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script> <div class="parent-class"> <p class="child-class"> <a href="hello.jpg" data-rel="lightbox-1">Lightbox Image</a> </p> <h3>Title Here</h3> </div> $(function(){ $('.parent-class h3').click(function(){ //$(this).siblings('p').find('a').trigger( "click" ); var h = $(this).siblings('p').find('a').attr( "href" ); location.href = h; }); }); <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <div class="parent-class"> <p class="child-class"> <a href="hello.jpg" data-rel="lightbox-1">Lightbox Image</a> </p> <h3>Title Here</h3> </div>