Estoy intentando algo simple, soy bastante novato en jquery y no sé cómo hacer un evento de clic cuando haces clic en una etiqueta que está dentro de una etiqueta de intervalo, este es mi código.

<span>
    <a class="paginate_button current" aria-controls="table_id" data-dt-idx="1" tabindex="0">1</a>
    <a class="paginate_button " aria-controls="table_id" data-dt-idx="2" tabindex="0">2</a>
    <a class="paginate_button " aria-controls="table_id" data-dt-idx="3" tabindex="0">3</a>
    <a class="paginate_button " aria-controls="table_id" data-dt-idx="4" tabindex="0">4</a>
</span>

Intenté esto pero no funciona

$("#table_id_paginate > span > a.paginate_button").click(function() {
alert("Handler for .click() called.");});
0
DeathInWhite 25 sep. 2019 a las 23:25

3 respuestas

La mejor respuesta

El marcado que proporcionó no tiene un elemento con el ID "table_id_paginate". Entonces jQuery está seleccionando los enlaces porque está buscando elementos a con la clase paginate_button que son descendientes directos de un span que es un descendiente directo de un elemento con esa ID.

Entonces, si cambia su código a la forma en que Tim Lewis comentó: $(".paginate_button").click(...) el código funciona.

2
Tanner 25 sep. 2019 a las 20:40

Simplemente hacer este cambio hará que funcione, básicamente desea que cualquier etiqueta <a> con clase .paginate_button funcione con un clic.

<script>
$("span > a.paginate_button").click(function() {
alert("Handler for .click() called.");});
</script>

Editar: Cómo hacer esto: Averigua el elemento objetivo, luego sigue subiendo hacia el padre y ese se convierte en tu objetivo.

0
vS12 26 sep. 2019 a las 01:02
$("a.paginate_button").on("click", function () {
     //your code here
})
-1
Ombo Nation 26 sep. 2019 a las 00:47