2011-09-06 24 views
12

Estoy intentando utilizar JQuery para hacer que una fila de la tabla se pueda hacer clic y redireccionar a una URL que está oculta en la primera celda. Tengo una imagen en la última columna de la tabla que debería redireccionar a una URL diferente.JQuery: fila de la tabla que se puede hacer clic, excepto la última celda

JQuery es el siguiente.

$(function() { 
    $('#link-table td:first-child').hide(); 

    $('#link-table tr').hover(function() { 
     $(this).toggleClass('highlight'); 
    }); 

    $('#link-table tr').click(function() { 
     location.href = $(this).find('td a').attr('href'); 
    }); 
}); 

Al hacer clic en las obras de filas, haga clic en el hipervínculo de imagen en la última celda vuelve a dirigir a la misma URL como hacer clic en la fila que no es lo que quiero.

He intentado utilizar el código para el evento click

$('#link-table tr td:not(:last-child))').click(function() { 
     location.href = $(this).find('td a').attr('href'); 
    }); 

Al hacer clic en el hipervínculo de imagen en las últimas obras de células, pero clic en la línea ahora redirige a la URL adjunta a la imagen de hipervínculo en la última celda.

¿Cómo puedo obtenerlo así que al hacer clic en la fila redirige a una URL, al hacer clic en el hipervínculo en la última celda se redirige a otra?

Respuesta

20
$('#link-table tr td:not(:last-child)').click(function() { 
     location.href = $(this).find('td a').attr('href'); 
    }); 

Su $(this) es el '#link-table tr td:not(:last-child))', se puede encontrar la tr con var tr = $(this).closest('tr'); continuación, puede utilizar var tr a hacer lo que quiera

continuación

encuentra 'td a' etc.

+0

Esta fue la solución correcta. Hay un soporte adicional que estaba arruinando un poco las cosas, creo. En su lugar, debe leer $ ('# link-table tr td: not (: last-child)'). Click – Tom

0

es probable que tenga que volver:

$('#link-table tr').last().click(function() { 
    return false; 
}); 
+0

Estás seleccionando la última fila. Él quiere todas las filas excepto la última td en la fila. –

+0

Correcto, esto sería además de su otro código. – VNO

Cuestiones relacionadas