2011-09-06 12 views
12

Sto cercando di utilizzare JQuery per rendere una riga della tabella cliccabile e reindirizzare a un URL nascosto nella prima cella. Ho un'immagine nell'ultima colonna della tabella che dovrebbe reindirizzare a un URL diverso.JQuery - Riga di tabella cliccabile, eccetto l'ultima cella

JQuery è il seguente.

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

Cliccando le opere di riga, facendo clic sul collegamento ipertestuale immagine nell'ultima cella reindirizza alla stessa URL, clic sulla riga che non è quello che voglio.

Ho provato ad utilizzare questo codice per l'evento click

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

clic sul collegamento ipertestuale immagine nelle ultime opere di cella ma cliccando sulla riga ora reindirizza all'URL attaccato al collegamento ipertestuale immagine nell'ultima cella.

Come posso ottenerlo facendo clic sulla riga reindirizza a un URL, facendo clic sul collegamento ipertestuale nell'ultima cella reindirizza a un altro?

risposta

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

tuo $(this) è il '#link-table tr td:not(:last-child))', potete trovare il tr con var tr = $(this).closest('tr'); Quindi è possibile utilizzare var tr a fare quello che vuoi

poi

trova 'td a' ecc.

+0

Questa era la soluzione corretta. C'è una parentesi in più che stava facendo un po 'di casino, credo. Invece dovrebbe leggere $ ('# link-table trtd: not (: last-child)'). Click – Tom

0

probabilmente avete bisogno di tornare:

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

Sei selezionando l'ultima riga. Vuole per tutte le file tranne l'ultimo td nella riga. –

+0

Giusto, questo sarebbe in aggiunta al suo altro codice. – VNO

Problemi correlati